我从未在jquery中编程。我正在使用JQuery Countdown插件 当我调用一个php页面但计时器没有重启时进行倒计时。 我需要编写一个重启函数来调用JQuery Countdown插件的'onExpiry'事件。这是我在html页面上的脚本。 我正在关注这篇文章: Auto Restart/Reset countdown timer 但我认为该帖子中的解决方案不起作用,因为是关于日期。 我需要重启最多2个小时的随机时间。 感谢.....
$(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);
});
编辑:
我解决了:
$('#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>'
});
如果有人有更好的解决方案,请联系我pro-zac31 [at] libero.it .... !!!谢谢:))
答案 0 :(得分: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
});