最好是查看http://jsfiddle.net/jDn7X/
中的示例$(".container.a1 div").hover(function(e){
$(".popup").show(300).css({top: (e.pageY + 15) + "px",left: (e.pageX + 10) +"px"});
},function(){
$(".popup").hide(300);
});
当我移过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计时器的最佳方法是什么?
答案 0 :(得分:2)
尝试使用stop():
$(".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());
}
});
答案 1 :(得分:1)
我个人认为,对于近距离的许多小元素来说,这是一种错误的工具提示方法。
我认为更好的方法是.hover整个.container,然后更改每个元素的onmouseenter上的内容。
答案 2 :(得分:0)