我有一个将推土机从右向左移动的setinterval。
在下面的jsfiddle中,setInterval必须在5秒后自行停止。 (使用了settimeout和clearinterval),但它不起作用。任何人都可以帮助我吗?
var gameover;
gameover = setInterval(function () {
setTimeout(function () {
clearInterval(movingbulldozer);
}, 55000);
}, 10);
答案 0 :(得分:1)
你的小提琴中有一个拼写错误, updated fiddle ,如果工作得很好,但不是5000毫秒,而是为超时设置了55000毫秒。
setTimeout(function () {
clearInterval(movingbulldozer);
}, 5000);
答案 1 :(得分:0)
在您的示例中,movingbulldozer未定义。如果您要尝试清除间隔,请使用正确的参考清除间隔。在您的示例中,这将是clearInterval(gameover);
您的示例的问题是,每隔10毫秒,您就会向DOM添加一个超时,从而清除间隔。
var timeout, interval, date,
i = 0;
$(document).ready(function() {
interval = setInterval(function() {
date = new Date();
i++;
$('#debug').html('Interval parsed at '+date.getTime()+', interval #'+i);
if (i >= 100) { // According to your example
$('#debug').html('Starting timeout...');
timeout = setTimeout(function() {
$('#debug').html('Timed out');
}, 5000);
clearInterval(interval);
}
}, 10);
});
查看我的示例,看看它是否有帮助。 :)