我希望在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;
}
但它没有像我预期的那样工作。
答案 0 :(得分:1)
我不确定这是不是你要找的......
var timer = null;
function startBid(){
clearTimeout(timer);
timer = setTimeout(bid, 1000);
}