2012-06-10 4 views
1

Я никогда не программировал jquery. Я использую плагин JQuery Countdown для , чтобы иметь обратный отсчет при вызове php-страницы, но таймер не перезапускается. Мне нужно написать функцию перезапуска для вызова событием onExpiry плагина JQuery Countdown. Это сценарий, который у меня есть на странице html. Я за этим сообщением: Auto Restart/Reset countdown timer , но я думаю, что решение в этом сообщении не работает, потому что это о датах. Мне нужно перезапустить случайный период максимум 2 часа. спасибо .....jquery - перезапуск функции

$(document).ready(function() { 
    function randRange() { 
     var newTime = Math.floor(Math.random() * 30001) + 10000; 
     return newTime; 
    } 

    function toggleSomething() { 
     $('#timeval').load('ajaxTime.php?randval=' + Math.random()); 
     clearInterval(timer); 
     lollo = parseInt(randRange()); 
     timer = setInterval(toggleSomething, lollo); 
     $('#msg').fadeOut("slow").countdown({ *onExpiry:?????* until : +(lollo/1000), 
      format : 'HMS', 
      layout : '<div id="timer">' + '<div class="timer_numbers">{hnn}:{mnn}:{snn}</div>' + '</div>' 
     }).fadeIn("slow"); 
    } 
    var timer = setInterval(toggleSomething, 1000); 
}); 

EDIT:

Я решил:

$('#msg').countdown({until: +(lollo/1000), onExpiry: function() { setTimeout(function() { $('#msg').countdown('change', {until: +((lollo/1000) - 1)}); }, 1000); }, format: 'HMS', layout: 
    '<div id="timer">'+ 
     '<div class="timer_numbers">{hnn}:{mnn}:{snn}</div>'+ 
    '</div>' 
    }); 

Если у кого есть лучшее решение, пожалуйста, свяжитесь со мной про-zac31 [в] libero.it .. .. !!! Спасибо :)

ответ

0

Как об этом:

$(function() { 
    function randRange() { 
     return Math.floor(Math.random() * 30001) + 10000; 
    } 

    (function resetTimer() { 
     $('#msg').fadeOut("slow", function() { 
      $(this).countdown('destroy').countdown({ 
       until: randRange()/1000, 
       format: 'HMS', 
       layout: '<div id="timer">' + '<div class="timer_numbers">{hnn}:{mnn}:{snn}</div>' + '</div>', 
       onExpiry: resetTimer 
      }).fadeIn("slow"); 
     }); 
    })(); //self-execute 
}); 
+0

Это здорово! Спасибо :)) – lollo

Смежные вопросы