Javascript 在jquery中清除队列不';不适用于延迟显示隐藏悬停
最好是查看中的示例 当我移动到div数组上时,弹出窗口会一直出现Javascript 在jquery中清除队列不';不适用于延迟显示隐藏悬停,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,最好是查看中的示例 当我移动到div数组上时,弹出窗口会一直出现 <div class="container a1"> <div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div&
<div class="container a1">
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</div>
使用clearQueue时,行为是随机的
清除以前的jquery计时器的最佳方法是什么?尝试使用:
我可能会做更多类似的事情(见评论):
快速执行.stop()
()
$(.popup”).stop().hide(300)代码>
这将阻止所有以前的动画在相关对象上发生
我个人认为,这是一种错误的方法,在许多小元素上使用工具提示
我认为更好的方法是将整个.container悬停,然后更改每个元素在MouseCenter上的内容
+1我也在写同样的东西。。但是当你快速地在多个元素上悬停时,效果就消失了。@Vega-是的,但不确定OP是如何使用它的。我可能会将弹出处理程序附加到包装器元素,并在方块之间移动时更改弹出内容,以避免出现令人讨厌的弹出内容,但问题并没有真正提到这一点?我坚持解决方案1,他展示例子的小提琴是:我喜欢你的解决方案,但事实上,在div change中闪烁是有意的。无论如何,谢谢你的帮助
<div class="container a1">
<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
</div>
$(".container.a1 div, .container.a2 div").hover(
function(e){
$(".popup").stop(true,true)
.show(300)
.css({top: (e.pageY + 15) + "px",left: (e.pageX + 10) +"px"});
},function(){
$(".popup").stop(true,true)
.hide(300);
}
);
$(".container.a1, .container.a2").on({
mouseenter: function(){
$(".popup").show(300);
},
mouseleave: function() {
$(".popup").hide(300);
},
mousemove: function(e) {
$(".popup").css({top: (e.pageY + 15) + "px",left: (e.pageX + 10) +"px"})
.text('hovering : '+$(e.target).index());
}
});