在您的示例中,movingbuldozer 未定义。如果您尝试清除间隔,请使用正确的参考清除间隔。在您的示例中,这将是 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);
});
看看我的例子,看看它是否有帮助。:)
http://jsfiddle.net/faqq5/