Javascript时间出价

时间:2013-02-25 23:04:10

标签: javascript jquery timing

我希望在1s之后制作警报('a')的功能。但如果在1s期间,将再次调用此函数,将重置计时。

bid();
//wait 500ms
bid();
//wait 300ms
bid();
//wait 1000ms
//now would be alert('a')

我试过了:

$.holdTime = function(key,time)
{
    var time = time ? time : 500;

    if (!$.isArray($.mmTimeHold)) {
        $.mmTimeHold = new Array();
    }

    var isHold = $.mmTimeHold[key];

    $.mmTimeHold[key] = true;
    setTimeout(function(){
        $.mmTimeHold[key]=false;
    },time);

    isHold = isHold === undefined ? false : isHold;
    return isHold;
};

$.isHold = function(key)
{   
    if (!$.isArray($.mmTimeHold)) {
        $.mmTimeHold = new Array();
    }   
    var isHold = $.mmTimeHold[key]; 
    isHold = isHold === undefined ? false : isHold;
    return isHold;
}

但它没有像我预期的那样工作。

1 个答案:

答案 0 :(得分:1)

我不确定这是不是你要找的......

var timer = null;
function startBid(){
    clearTimeout(timer);
    timer = setTimeout(bid, 1000);
}