[英]Calling function with setTimeout in rapid fashion
我希望div的backgroundColor更改250ms,然后再更改回。 为此,我将以下代码用作div的onclick:
function keyAnimation(key) {
basicColor = key.style.backgroundColor;
key.style.backgroundColor = "red";
setTimeout(function () {
key.style.backgroundColor = basicColor;
}, 250);
但是,当我快速单击div多次(在250ms内)时,它仍然为红色。 我该如何编码,使其在250ms之后始终返回basicColor?
添加一个阻止其他按键的标志:
var running = false;
function keyAnimation(key) {
if(running) return;
running = true;
const basicColor = key.style.backgroundColor;
key.style.backgroundColor = "red";
setTimeout(function () {
key.style.backgroundColor = basicColor;
running = false;
}, 250);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.