刚才我问了一个问题,为什么我的 setInterval() 函数只会运行一次,
JS setInterval() 只在动画不透明度时运行一次
我已经回答了,但后来我想检查并确保循环停止,所以我在循环中添加了一个 alert() 并发现 clearInterval 没有清除,即使我最初运行了连接到全局变量的 setInterval 函数。 .
不透明度更改工作正常,但是现在单击确定后警报框会无限显示...最终我不需要警报功能我只是想看看间隔是否真的清除了它没有...
var run;
var runOpt;
document.getElementById('menu-1-A').style.opacity=0;
document.getElementById('menu-1-B').style.opacity=0;
function openSubMenu1(item) {
runOpt=item;
run = setInterval(runSubMenu1,35);
}
function runSubMenu1() {
var i=document.getElementById('menu-1-'+runOpt);
if (parseInt(i.style.opacity) == 1) {
clearInterval(run);
alert('done');
} else {
i.style.opacity = parseFloat(i.style.opacity) + .1;
}
}