Javascript 如何在CSS转换期间阻止处理事件循环中的其他消息?

Javascript 如何在CSS转换期间阻止处理事件循环中的其他消息?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,以下是一个例子: document.getElementById(“myDiv”).addEventListener(“mouseover”,function()){ setTimeout(函数(){ 控制台日志(1) }, 1) }) div{ 过渡:所有2; 位置:固定; 顶部:10px } div:悬停{ 顶部:100px; } 123您可以使用该事件,但请注意,在输入鼠标和离开鼠标时将触发该事件 var div=document.getElementById(“myDiv”); di

以下是一个例子:

document.getElementById(“myDiv”).addEventListener(“mouseover”,function()){
setTimeout(函数(){
控制台日志(1)
}, 1)
})
div{
过渡:所有2;
位置:固定;
顶部:10px
}
div:悬停{
顶部:100px;
}
123
您可以使用该事件,但请注意,在输入鼠标和离开鼠标时将触发该事件

var div=document.getElementById(“myDiv”);
div.addEventListener(“transitionend”,函数(){
控制台日志(1)
})
div{
过渡:所有2;
位置:固定;
顶部:10px
}
div:悬停{
顶部:100px;
}

123
它的超时时间为1毫秒,所以正确执行away@machun如果我写
setTimeout(function(){console.log(1)},1);而(一){};
function(){console.log(1)}
将永远不会运行。谢谢<如果要注册一个新的回调,code>transitionend可以很好地工作,但是如果消息队列中已经有一些由
setTimeout
注册的回调怎么办。我不知道如何暂时阻止它们。对不起,我指的是事件循环。当我使用
setTimeout(callback,1)
时,据我所知,回调在事件循环中注册。setTimeout本身返回一个值。您可以对此调用clearTimeout,前提是它的范围被充分提升,以便您可以访问它