Javascript 每次MouseeEvent后执行setTimeout的时间延迟为两倍甚至三倍,即使是硬编码延迟; 功能切换细节(e){ el=e.target | | e.src元素; flag=false; 如果(计时器>0){ 控制台日志(计时器); 定时器=0; 清除超时(计时器); } document.queryselectoral(“.card”).forEach(card=>{ card.style.zIndex=“0” }); if(allowedElements.includes(el.className)&&el.className==“卡”) reactUnmount(el.children[5]); 其他的 if(allowedElements.includes(el.className)&&el.className!=“卡”){ el=el.parentNode 如果(el.className==“卡”) reactUnmount(el.children[5]); } 如果(el.className==“detailCard”){ el=el.parentNode console.log(el.className) } } 功能鼠标器(e){ 如果(屏幕大小>768){ el=e.target | | e.src元素; e、 停止传播() if(allowedElements.includes(el.className)){ if(el.className!=“卡片标题”){ flag=false; } 否则{ el=el.parentNode; flag=true } } 如果(el.className==“卡”){ 国际单项体育联合会(旗){ flag=false 控制台时间(“鼠标悬停”); 计时器=窗口。设置超时((el)=>{ 鼠标盖(el); 控制台。时间结束(“鼠标悬停”); },2000,el) }否则如果(!标志){ 切换细节(e) } } 否则{ 切换细节(e) } } }

Javascript 每次MouseeEvent后执行setTimeout的时间延迟为两倍甚至三倍,即使是硬编码延迟; 功能切换细节(e){ el=e.target | | e.src元素; flag=false; 如果(计时器>0){ 控制台日志(计时器); 定时器=0; 清除超时(计时器); } document.queryselectoral(“.card”).forEach(card=>{ card.style.zIndex=“0” }); if(allowedElements.includes(el.className)&&el.className==“卡”) reactUnmount(el.children[5]); 其他的 if(allowedElements.includes(el.className)&&el.className!=“卡”){ el=el.parentNode 如果(el.className==“卡”) reactUnmount(el.children[5]); } 如果(el.className==“detailCard”){ el=el.parentNode console.log(el.className) } } 功能鼠标器(e){ 如果(屏幕大小>768){ el=e.target | | e.src元素; e、 停止传播() if(allowedElements.includes(el.className)){ if(el.className!=“卡片标题”){ flag=false; } 否则{ el=el.parentNode; flag=true } } 如果(el.className==“卡”){ 国际单项体育联合会(旗){ flag=false 控制台时间(“鼠标悬停”); 计时器=窗口。设置超时((el)=>{ 鼠标盖(el); 控制台。时间结束(“鼠标悬停”); },2000,el) }否则如果(!标志){ 切换细节(e) } } 否则{ 切换细节(e) } } },javascript,Javascript,这段代码让我很烦恼。我不明白为什么每次鼠标事件的延时都在增加 输出: mouseOver: 2214.14794921875 ms mouseOver: 2498.247314453125 ms mouseOver: 2999.162841796875 ms mouseOver: 4748.389892578125 ms mouseOver: 11913.559814453125 ms mouseOver: 30919.48388671875 ms 鼠标悬停:2214.14794921875毫秒

这段代码让我很烦恼。我不明白为什么每次鼠标事件的延时都在增加

输出:

mouseOver: 2214.14794921875 ms mouseOver: 2498.247314453125 ms mouseOver: 2999.162841796875 ms mouseOver: 4748.389892578125 ms mouseOver: 11913.559814453125 ms mouseOver: 30919.48388671875 ms 鼠标悬停:2214.14794921875毫秒 鼠标悬停:2498.247314453125毫秒 鼠标悬停:2999.162841796875毫秒 鼠标悬停:4748.389892578125毫秒 鼠标悬停:11913.559814453125毫秒 鼠标悬停:30919.48388671875毫秒 等等

我试图检测鼠标是否在元素上悬停2秒钟。如果是,那么我将弹出一个模态,否则我将清除超时


请发送建议,如果可能的话,请向我解释延迟是如何持续增加的?

网站设计师选择了文本的字体和字体大小,以最大限度地提高大多数读者的易读性(至少在理论上)。请不要用粗体字来降低这一点。请用演示问题的字体更新您的问题,最好是使用堆栈片段(
[]
工具栏按钮)运行的问题。