使用jquery执行计时事件

时间:2013-03-04 08:06:38

标签: jquery events time execute

如何计算JQuery函数或事件的执行时间?我并不是说在超时后执行事件或函数。我想要类似的东西,捕获(20秒内),而不是20秒之后的关键事件。我尝试了几个想法,但没有按照我想要的方式工作。

2 个答案:

答案 0 :(得分:0)

尝试

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
    var timer = 0;

    $(function()
    {

        if(timer > -1 && timer <= 20)
        {
            timer = setTimeout(function()
            {
                timer = timer + 1;
                alert(timer);
            }, 1);
        }

    });

</script>

如果循环失败,您可以unbind事件或任何您的要求。

答案 1 :(得分:0)

您可以使用setInterval()

给定标记

<p>Interval: <span id="interval"></span></p>
<p>Counter: <span id="counter"></span></p>
<button id="start">Start</button>

您可以执行以下操作来捕捉keyup秒20秒

$(function(){
    var counter = 0;
    $("#start").click(function(){
        counter=0;
        var startTime = new Date().getTime() / 1000;

        $("body").on("keyup", function(){
            counter++;
            $("#counter").text(counter);
        });
        var intId = setInterval(function(){
            currentTime = new Date().getTime() / 1000;
            timeInterval = currentTime - startTime;
            $("#interval").text(timeInterval);
            if (timeInterval >= 20) {
                $("body").off("keyup");
                clearInterval(intId);
            }
        },1000);
    });
});

这是jsFiddle