我希望div的backgroundColor改变250ms,然后再改回来。为此我在div上使用以下代码:
function keyAnimation(key) {
basicColor = key.style.backgroundColor;
key.style.backgroundColor = "red";
setTimeout(function () {
key.style.backgroundColor = basicColor;
}, 250);
但是当我快速点击div多次(在250ms内)时它仍然是红色的。 我该怎么编码这样才能在250ms之后回到basicColor?
答案 0 :(得分:2)
添加一个阻止其他按键的标志:
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);
}