我正在创建一个我正在创建的图像查看器。如下图所示,“窗口”是显示图像的位置,“分页”是用户可以更改图像的位置。我已经使用这个Jquery脚本在窗口悬停时使“分页”淡入 - 它隐藏起来。虽然当用户徘徊在“分页”上时,它会闪烁。 (就像节目然后隐藏等)。
我想这是因为鼠标不再悬停在'窗口'上了。任何人都可以建议我如何让“传呼”继续显示?谢谢您的帮助! :)
$(".window").hover(function() {
$(".paging").fadeIn('fast');
}, function() {
$(".paging").fadeOut('fast');
});
答案 0 :(得分:3)
您可以在此使用.stop()
并在.hover()
选择器中同时包含这两个内容,如下所示:
$(".window, .paging").hover(function() {
$(".paging").stop(true, true).fadeIn('fast');
}, function() {
$(".paging").stop(true, true).fadeOut('fast');
});
这样,当您离开进入孩子或回到父母时,它会停止淡出并将其立即带回来,从而导致用户无法看到任何动作。
答案 1 :(得分:0)
您可以尝试使用mouseover
和mouseout
代替。我不确定mouseout
会以hover
的方式做出同样的反应。
答案 2 :(得分:0)
事实上,当你将鼠标放在分页上时,会发生一个神奇的事情,称为“事件冒泡”:“悬停”事件被传递给父容器“悬停”对象,等等,直到“文档”对象。
所以要解决你的问题,你需要停止冒泡,你可以用“return false”来做:
$(".paging").hover(function() {
return false;
}, function() {
return false;
});
(在最近的jquery版本中,你可以用 false 替换参数function(){return false;}。)