我制作了这个片段,在第10秒后点击了一个链接:
function timeout() {
window.setTimeout(function() {
$('img.left').click();
}, 1000);
setTimeout("timeout()", 1000);
}
timeout();
我的问题是,我如何每隔10秒执行一次这个功能,而不是只执行一次?
这是最好的方法,还是你喜欢某种漂亮的jQuery方法?
答案 0 :(得分:7)
使用setInterval
代替setTimeout
答案 1 :(得分:3)
setInterval(yourFunction, 1000 * 10);
(以毫秒为单位的时间:1000秒为1秒,1000 * 10为10秒)
哪个比“setTimeout”好;更具可读性等。
答案 2 :(得分:3)
我使用此方法进行轮询,重复更新和动画:
var timerId = setInterval(function() {
if (timeToStopConditionMet) {
clearInterval(timerId);
return;
}
// your recurring code
}, 10000); // 10000 makes this code execute every 10 seconds
答案 3 :(得分:1)
是的,setInterval(timeout, 1000)
几乎同样的事情。它有点不同,因为下一个间隔在1000ms后立即开始计数,而不是在运行的脚本完成(甚至开始)之后。出于大多数目的,我正是出于这个原因提倡反对它。你的实施更好,IMO。
此外,您不需要在字符串中传递timeout
函数,您只需直接传递引用,即setTimeout(timeout, 1000)
而不是setTimeout("timeout()", 1000)
。
答案 4 :(得分:0)
window.onload=function(){
GetCount(dateFuture1, 'countbox1');
}