jquery - 函数重启

时间:2012-06-10 23:00:41

标签: jquery

我从未在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 .... !!!谢谢:))

1 个答案:

答案 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
});