【发布时间】:2014-10-27 19:11:46
【问题描述】:
这是我目前的代码:
var i = 1;
setInterval(function() {
if ( i != 3 ) {
document.getElementById("box-" + i).className =
document.getElementById("box-" + i).className.replace
( /(?:^|\s)hide(?!\S)/g , '' )
} else {
setTimeout(function() {
document.getElementById("box-" + i).className =
document.getElementById("box-" + i).className.replace
( /(?:^|\s)hide(?!\S)/g , '' )
}, 10000);
}
i++
}, 1000);
我想要实现的是每秒钟都会从 div 中删除“隐藏”类。现在这部分工作。
但我还想补充的是,我们在第 3 个 div (i=3) 上,超时实际上是 10 秒,整个间隔/事物会在 10 秒内暂停。基本上意味着它将显示第 3 个 div 10 秒,暂停间隔并删除第 3 个 div 的隐藏类(是的,实际上应该显示类命名),然后再次继续显示所有其他 div 1 秒。现在它基本上跳过了第三个 div,因为 intervall 覆盖了 settimetout。
【问题讨论】:
标签: javascript settimeout setinterval