Помогите разобраться с jQuery callback повешеного на событие таймера

Тема в разделе "JavaScript", создана пользователем 01K, 19 окт 2014.

Модераторы: ZiX
  1. 01K

    01K

    Регистр.:
    27 июн 2013
    Сообщения:
    291
    Симпатии:
    43
    Всем привет!
    Нашёл мне подходящий jQuery plug-in - таймер.
    Перейти по ссылке
    Всё работает нормально, за исключением того, что в данной реализации есть две недоработки:
    1). Не реализована добавка даты человеческим форматом
    2). Нет обработки события, когда таймер истекает

    Первую проблему я решил так:

    Код:
    var epochStart = Date.parse(settings['StartDate']) / 1000;
    var epochEnd = Date.parse(settings['EndDate']) / 1000;  
    var currentDate = Math.floor($.now() / 1000);
    
    Если я не прав - поправьте меня.

    Чтобы решить вторую задачу - я посчитал, что callback функции будет то, что нужно для данной проблемы.
    В доках есть малая часть информации, говорящая лишь о том, что данный метод поддерживается.

    Код:
    $(document).ready(function() {
      $('.countdown').final_countdown({
      'start': 1362139200,
      'end': 1388461320,
      'now': 1387461319
      }, function() {
      // Finish Callback
      });
    
    });
    Я пробовал вызывать функцию двумя способами, но ничего из этого не вышло.
    Первый вариант срабатывает единожды, в том случае, когда даты введены истёкшие.
    ELSE, ELSEIF операторы не срабатывают - игнорируются.

    Код:
    var currentDate = Math.floor($.now() / 1000);
    $('.countdown').final_countdown({   
      'start': epochStart,
      'end': epochEnd,
      'now': currentDate   
    }, function() {
      timerdone('test', epochStart, epochEnd);   
    });
    
    function timerdone(msg, start, end){
      if(start <= end){   
      $('.clock').css('display','none');
      }  else {
      alert(msg);
      }
    };
    

    вообще не алертит:
    Код:
    var currentDate = Math.floor($.now() / 1000);
      $('.countdown').final_countdown({   
      'start': epochStart,
      'end': epochEnd,
      'now': currentDate   
      }, function() {
      alert('!!')
      //timerdone('test', epochStart, epochEnd);   
      });
    
    В итоге я хочу получить простой механизм, что если действие таймера истекает или истекло - он не грузился.
    Хотелось бы дождаться правильного примера данной задачи.

    Часть кода на JSFiddle, но тут, почему-то, не запускается основная функция - final_countodwn, хотя все библиотеки загружены

    Перейти по ссылке