Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.06.2016, 09:39
Новичок на форуме
Отправить личное сообщение для Dedononant Посмотреть профиль Найти все сообщения от Dedononant
 
Регистрация: 22.06.2016
Сообщений: 2

Запуск таймера
Всем привет есть таймер сейчас запускается таким образом
$(function () {

    var timeData = {
        cookieName: 'links-timers',
        cookieExpires: 30, // cookie live in days
        getOld: function ($link) {
            var self = this,
                id = $link.data('id'),
                data = self.getCookie(),
                storeTime = data && data[id] ? data[id] : null,
                nowTime = +(new Date),
                time = storeTime && storeTime > nowTime ? storeTime : null;
            return time;
        },
        getNew: function ($link) {
            var self = this,
                seconds = parseInt($link.data('time')),
                id = $link.data('id'),
                data = self.getCookie(),
                time = ( +(new Date) + (seconds * 1000) );

            data[id] = time;

            //$.cookie(self.cookieName, $.toJSON(data), {
            //    expires: self.cookieExpires,
            //    path: '/'
            //});
            localStorage.setItem(self.cookieName, $.toJSON(data));

            return time;
        },
        getCookie: function () {
            var self = this,
                //cookieData = $.cookie(self.cookieName),
                cookieData = localStorage.getItem(self.cookieName),
                storeData = cookieData ? $.secureEvalJSON(cookieData) : {},
                data = storeData ? storeData : {};
            return data;
        },
        destroyCookie: function () {
            var self = this;
            //$.cookie(self.cookieName, null);
        }

    };

    function linksTimer($link) {
        this.$link = $link;
        this.create();
        return this;
    }

    linksTimer.prototype = {
        create: function () {
            var self = this,
                $link = self.$link,
                $descLink = $('<a href="' + $link.attr('href') + '" class="link-desc" target="_blank" title="Start">' + $link.text() + '</a>'),
                time = timeData.getOld($link);

            $link.before($descLink);

            $descLink.on('click', function (e) {
                //e.preventDefault();
                $link.trigger('click');
            });

            $link.countdown({
                date: +(new Date) + 0,
                render: function (data) {
                    $(this.el).html(this.leadingZeros(data.hours, 2) + ":" + this.leadingZeros(data.min, 2) + ":" + this.leadingZeros(data.sec, 2));
                },
                onEnd: function () {
                    $(this.el).addClass('ended');
                }
            }).on("click", function (e) {
                e.preventDefault();
                var time = timeData.getNew($link);
                self.setTime($link, time);
            });

            self.setTime($link, time);
        },
        setTime: function ($link, time) {
            if ($link && time) {
                $link.removeClass('ended')
                    .data('countdown')
                    .update(time)
                    .start();
            }
        }
    };

    jQuery.fn.linksTimer = function () {
        return this.each(function () {
            this.linksTimer = new linksTimer($(this));
        });
    };

});

$(document).ready(function () {
    $('.countdown.callback').linksTimer();
});
, вывод на страницу
<div class="main-countr">
<div class="transdiv"></div>
<a class="link-desc" title="Start" target="_blank" href="https://mail.ru"></a><a class="countdown callback ended" data-time="660" data-title="Google" data-id="2" rel="nofollow" target="_blank"href="https://mail.ru">00:00:00</a>
</div>
.ну и сам вопрос как его запускать именно с кнопки?
P. S Я нуб и нечего не понимаю
Выглядит это все и работает http://codepen.io/andreu666/details/rLWLEj

Последний раз редактировалось Dedononant, 22.06.2016 в 10:07.
Ответить с цитированием
  #2 (permalink)  
Старый 22.06.2016, 17:48
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Dedononant,
$('кнопка').click(function() {
  $('.countdown.callback').linksTimer();
});
Ответить с цитированием
  #3 (permalink)  
Старый 22.06.2016, 19:51
Новичок на форуме
Отправить личное сообщение для Dedononant Посмотреть профиль Найти все сообщения от Dedononant
 
Регистрация: 22.06.2016
Сообщений: 2

Спасибо буду пробовать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать замену кода по истечению таймера? yted2 Общие вопросы Javascript 5 26.04.2016 17:54
продолжить работу таймера с помощью cookie dima1989 Элементы интерфейса 1 03.09.2015 09:37
Запуск таймера по клику Pasechnik Общие вопросы Javascript 4 07.08.2014 14:34
Чем можно организовать запуск скрипта атом. по времени. I5Rek Серверные языки и технологии 2 01.05.2011 23:00
запретить повторный запуск таймера setInterval-clearInterval mrWong Общие вопросы Javascript 1 01.02.2010 12:25