function errBlink()
{
var check=true;
var borColor=this.style.borderColor;
var bxShad=this.style.boxShadow;
var blink=setInterval(blinker(this),300);
setTimeout(resetBox(this),2000);
function resetBox(ele)
{
clearInterval(blink);
ele.style.borderColor=borColor;
ele.style.boxShadow=bxShad;
}
function blinker(ele)
{
if(check)
{
ele.style.borderColor='red';
ele.style.boxShadow='0px 0px 5px 0px rgba(255,0,13,1)';
check=false'
}else
{
ele.style.borderColor='white';
ele.style.boxShadow='0px 0px 5px 0px rgba(00,00,00,1)';
check=true;
}
}
}
我只想在此代码运行时停止侦听keydown事件,因为在setinterval期间如果按下任何键,这将重置此代码重新运行并且如果长时间保持按下则似乎是队列。
答案 0 :(得分:1)
我建议您使用另一个标记(类似于您对check
的操作),而不是禁用可能会干扰您网站上其他功能的keydown事件。
例如,您可以制作一个标记isBlinking
,在函数启动时将其设置为true,在函数结束时将其设置为false,并仅运行代码if(!isBlinking)
。