|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2021, 22:45 | #1 |
Новичок
Джуниор
Регистрация: 12.01.2021
Сообщений: 2
|
JS код не работает в мобильной версии
Всем привет!
JQuery coundown plugin на ПК и IOS работает, а на Andoid Chrome с телефона не работает. Работаю я на Yii2. Заранее спасибо. $counter = " $(function($){ $('#counter').countdown({ image: '" . Yii::$app->controller->module->assetsUrl . "/images/digits.png" . "', startTime: '" . gmdate("i:s", $seconds) . "', timerEnd: function($){ $('#end').val('1'); $('#quiz-form').submit(); }, format: 'mm:ss' }); }); /* * jquery-counter plugin * * Copyright (c) 2009 Martin Conte Mac Donell <Reflejo@gmail.com> * Dual licensed under the MIT and GPL licenses. * http://docs.jquery.com/License */ jQuery.fn.countdown = function(userOptions) { // Default options var options = { stepTime: 60, // startTime and format MUST follow the same format. // also you cannot specify a format unordered (e.g. hh:ss:mm is wrong) format: "dd:hh:mm:ss", startTime: "01:12:32:55", digitImages: 6, digitWidth: 53, digitHeight: 77, timerEnd: function(){}, image: "" . Yii::$app->controller->module->assetsUrl . "/images/digits.png" }; var digits = [], interval; // Draw digits in given container var createDigits = function(where) { var c = 0; // Iterate each startTime digit, if it is not a digit // we\'ll asume that it\'s a separator for (var i = 0; i < options.startTime.length; i++) { if (parseInt(options.startTime[i]) >= 0) { elem = $('<div id="cnt_' + i + '" class="cntDigit" />').css({ height: options.digitHeight * options.digitImages * 10, float: 'left', background: 'url(\'' + options.image + '\')', width: options.digitWidth}); digits.push(elem); margin(c, -((parseInt(options.startTime[i]) * options.digitHeight * options.digitImages))); digits[c].__max = 9; // Add max digits, for example, first digit of minutes (mm) has // a max of 5. Conditional max is used when the left digit has reach // the max. For example second "hours" digit has a conditional max of 4 switch (options.format[i]) { case 'h': digits[c].__max = (c % 2 == 0) ? 2: 9; if (c % 2 == 0) digits[c].__condmax = 4; break; case 'd': digits[c].__max = 9; break; case 'm': case 's': digits[c].__max = (c % 2 == 0) ? 5: 9; } ++c; } else elem = $('<div class="cntSeparator"/>').css({float: 'left'}) .text(options.startTime[i]); where.append(elem) } }; // Set or get element margin var margin = function(elem, val) { if (val !== undefined) return digits[elem].css({'marginTop': val + 'px'}); return parseInt(digits[elem].css('marginTop').replace('px', '')); }; // Makes the movement. This is done by "digitImages" steps. var moveStep = function(elem) { digits[elem]._digitInitial = -(digits[elem].__max * options.digitHeight * options.digitImages); return function _move() { mtop = margin(elem) + options.digitHeight; if (mtop == options.digitHeight) { margin(elem, digits[elem]._digitInitial); if (elem > 0) moveStep(elem - 1)(); else { clearInterval(interval); for (var i=0; i < digits.length; i++) margin(i, 0); options.timerEnd(); return; } if ((elem > 0) && (digits[elem].__condmax !== undefined) && (digits[elem - 1]._digitInitial == margin(elem - 1))) margin(elem, -(digits[elem].__condmax * options.digitHeight * options.digitImages)); return; } margin(elem, mtop); if(elem == 3) { if(margin(elem) == -4081 || margin(elem) == -3696 || margin(elem) == -3234 || margin(elem) == -2772 || margin(elem) == -2310 || margin(elem) == -1848 || margin(elem) == -1386 || margin(elem) == -924 || margin(elem) == -462 || margin(elem) == 0) { seconds = $('#seconds').val(); $('#seconds').val(--seconds); //alert($('#seconds').val()); } } if (margin(elem) / options.digitHeight % options.digitImages != 0) setTimeout(_move, options.stepTime); if (mtop == 0) digits[elem].__ismax = true; } }; $.extend(options, userOptions); this.css({height: options.digitHeight, overflow: 'hidden'}); createDigits(this); interval = setInterval(moveStep(digits.length - 1), 1000); }; "; $scriptquiz = ' $(".pagination li a").click(function($){ var page = parseInt($(this).attr("data-page")) + 1; $("#page").val(page); $("#quiz-form").submit(); return false; }); $(\'#submitButton\').click(function ($){ if(!confirm(\'Are you sure you want to finish the test?\')) return false; $(\'#end\').val(\'1\'); }) '; $this->registerJs($counter, View::POS_END, 'counterjs'); $this->registerJs($scriptquiz, View::POS_END, 'quizjs'); |
13.01.2021, 02:48 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Есть специальные теги для кода - используйте их.
Не работает - это как? Ошибку выдает в консоли, или что? |
13.01.2021, 11:17 | #3 |
Новичок
Джуниор
Регистрация: 12.01.2021
Сообщений: 2
|
ADSoft, Просто не отображается, хоть и само время countdown-a истекает, те счетчик работает, но не отображается. Еще интересно то, что в мобильной версий Mozilla все отображается, но вот Chrome и Opera не отображают.
А какие это тэги? Можете по подробнее? |
13.01.2021, 12:05 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация кнопок в мобильной версии | Anna1991 | HTML и CSS | 1 | 03.12.2018 17:55 |
Как подогнать код яндекс денег под ширину мобильной версии сайта | Михаил Иркутск | PHP | 2 | 04.12.2017 21:14 |
Не работает механизм в мобильной версии | IvanAkimov | WordPress и другие CMS | 0 | 18.09.2017 17:27 |
Не работает меню "гамбургер" в мобильной версии сайта. | neo_1987 | JavaScript, Ajax | 0 | 21.02.2017 08:19 |
Не работает код на денвере версии 4.3.6 | Kasper1 | PHP | 3 | 07.04.2011 20:16 |