1
如果单击图像,它会在3秒后更改图像。但是如果我在三秒钟内多次点击图像,它会启动一个新的计时器。特别是如果我一秒钟点击5次图像,它不会在三秒钟内变化,但是当这三秒钟到达时,它会在一秒钟内变化5次。同时运行多个定时事件
有没有办法做一个if语句说:如果这个函数正在运行杀死当前运行的函数并启动一个新的函数。通过这种方式,它将忽略图像的前4次点击,只运行第五次点击,或者只运行第一次点击并跳过其他四次点击。
下面是代码:
function auto_change(a,b) { // a is the current image and b calls a function that makes certain image visible, it works but need to fix the multiple clicks problem
if (document.getElementById(a).style.visibility == 'visible'){
setTimeout(b,3000);
return;
}
有助于解决一个问题,但会引发新的问题!我点击,它会改变。如果我点击它两次,它只会改变一次。但之后,当我点击它不再有效。此错误弹出不会弹出其他人:waitTime未定义 – Patrick
@帕特里克:我的部分错字。我有'clearTimeout(waitTime)'(应该是'clearInterval(waitTimer)'。) –
是的,就是这样。应该自己抓到了。现在我知道它行得通,我必须理解它。这里有帮助吗? – Patrick