Таймер

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Таймер

Сообщение Sanvirtus »

Пишу систему тестирования. Как реализовать таймер на странице, по истечению времени которого происходило перенаправление на страницу с результатами? Может какой виджет есть специальный? Хотелось бы увидеть пример такого таймера
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Re: Таймер

Сообщение Sanvirtus »

Я вставил на страницу

Код: Выделить всё

<script>
    $('#clock').countdown('2020/10/10', function(event) {
        $(this).html(event.strftime('%M:%S'));
    });
</script>

<div class="countdown">
            Limited Time Only!
            <span id="clock"></span>
</div>
А как его запускать? Куда именно нужно мне присвоить значение переменной из БД обозначающей количество минут, что бы этот таймер запустился и выводил на страницу время?
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Таймер

Сообщение zabachok »

Как нравится. Там полно примеров.
Можно воспользоваться готовым виджетом, там тоже есть примеры https://packagist.org/packages/russ666/yii2-countdown
2b||!2b Just read the instructions
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Re: Таймер

Сообщение Sanvirtus »

zabachok писал(а): 2017.06.27, 13:07 Как нравится. Там полно примеров.
Можно воспользоваться готовым виджетом, там тоже есть примеры https://packagist.org/packages/russ666/yii2-countdown
Там написан пример использования:

Код: Выделить всё

echo \russ666\widgets\Countdown::widget([
    'datetime' => date('Y-m-d H:i:s O', time() + 1000),
    'format' => '%M:%S',
    'events' => [
        'finish' => 'function(){location.reload()}',
    ],
])
Как мне тут задать время, которое должно отсчитываться? Просто вставив в код эту часть, начинает отсчитываться от 16:39 и в низ. А как мне регулировать самому время тут?
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Re: Таймер

Сообщение Sanvirtus »

Все, разобрался. Нужно было сделать вот так:

Код: Выделить всё

echo \russ666\widgets\Countdown::widget([
    'datetime' => date('Y-m-d H:i:s O', time() + $Time),
    'format' => '%M:%S',
    'events' => [
        'finish' => 'function(){location.reload()}',
    ],
])
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Re: Таймер

Сообщение Sanvirtus »

zabachok писал(а): 2017.06.27, 13:07 Как нравится. Там полно примеров.
Можно воспользоваться готовым виджетом, там тоже есть примеры https://packagist.org/packages/russ666/yii2-countdown
А как в функции по окончанию сделать что бы перенаправляло на другую страницу? там сейчас перезагрузка стоит, а как сделать перенаправление?
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Таймер

Сообщение zabachok »

Изменить свойство finish
2b||!2b Just read the instructions
Аватара пользователя
Alexum
Сообщения: 683
Зарегистрирован: 2016.09.26, 10:00

Re: Таймер

Сообщение Alexum »

Sanvirtus писал(а): 2017.06.27, 14:38 А как в функции по окончанию сделать что бы перенаправляло на другую страницу? там сейчас перезагрузка стоит, а как сделать перенаправление?
document.location.href
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Re: Таймер

Сообщение Sanvirtus »

Alexum писал(а): 2017.06.27, 14:56 document.location.href
Так, как я понял, свойство финиш срабатывает ежесекундно, тем самым обновляя время. Потому что изменив свойство финиш, меня через секунду перенаправляет на страницу с результатами. Как изменить так, что бы перенаправляло только по истечению полного времени?

Код: Выделить всё

<?php
   echo \russ666\widgets\Countdown::widget([
   'datetime' => date('Y-m-d H:i:s O', time() + $Time * 60),
   'format' => '%M:%S',
   'events' => [
      'finish' => 'document.location.href="/testsystem/testcomplete"',
   ],
   ])
?>
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Таймер

Сообщение zabachok »

обернуть в анонимную функцию
2b||!2b Just read the instructions
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Re: Таймер

Сообщение Sanvirtus »

Ура, меня уволили. Всем спасибо за то что помогали все это время) Может подскажите что можно безобидное сделать с сайтом перед уходом с работы?)
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Таймер

Сообщение ElisDN »

Sanvirtus писал(а): 2017.06.28, 08:23 Ура, меня уволили.
Поздравляем.
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Таймер

Сообщение zabachok »

Sanvirtus писал(а): 2017.06.28, 08:23 Ура, меня уволили.
Лол! Поздравляю!)
2b||!2b Just read the instructions
Dima1987
Сообщения: 20
Зарегистрирован: 2017.06.26, 13:49

Re: Таймер

Сообщение Dima1987 »

Sanvirtus писал(а): 2017.06.28, 08:23 Ура, меня уволили
DROP DB
Аватара пользователя
Alexum
Сообщения: 683
Зарегистрирован: 2016.09.26, 10:00

Re: Таймер

Сообщение Alexum »

Оставить их разбираться в вашем коде - чем не наказание :lol:?
Dima1987
Сообщения: 20
Зарегистрирован: 2017.06.26, 13:49

Re: Таймер

Сообщение Dima1987 »

еще у меня к знакомому пришол проект на дороботку - а там коменты в коде аля // беги чувак отсюда - здесь денег не дают =)))
Sanvirtus
Сообщения: 117
Зарегистрирован: 2017.04.20, 09:27
Откуда: Беларусь
Контактная информация:

Re: Таймер

Сообщение Sanvirtus »

Alexum писал(а): 2017.06.28, 14:20 Оставить их разбираться в вашем коде - чем не наказание :lol:?
Ну код вполне читабелен и красив) + везде комменты)
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Таймер

Сообщение kawabanga »

Мне кажется там на сервере надо было проверять таймер оставлять... так как открыть консоль в наше время и изменить таймер могут многие.
Ответить