显示和隐藏div需要帮助

时间:2010-12-29 21:31:30

标签: javascript jquery hover fadein fadeout

我正在创建一个我正在创建的图像查看器。如下图所示,“窗口”是显示图像的位置,“分页”是用户可以更改图像的位置。我已经使用这个Jquery脚本在窗口悬停时使“分页”淡入 - 它隐藏起来。虽然当用户徘徊在“分页”上时,它会闪烁。 (就像节目然后隐藏等)。

我想这是因为鼠标不再悬停在'窗口'上了。任何人都可以建议我如何让“传呼”继续显示?谢谢您的帮助! :)

$(".window").hover(function() {
    $(".paging").fadeIn('fast');
}, function() {
    $(".paging").fadeOut('fast');
});

alt text

3 个答案:

答案 0 :(得分:3)

您可以在此使用.stop()并在.hover()选择器中同时包含这两个内容,如下所示:

$(".window, .paging").hover(function() {
    $(".paging").stop(true, true).fadeIn('fast');
}, function() {
    $(".paging").stop(true, true).fadeOut('fast');
});

这样,当您离开进入孩子或回到父母时,它会停止淡出并将其立即带回来,从而导致用户无法看到任何动作。

答案 1 :(得分:0)

您可以尝试使用mouseovermouseout代替。我不确定mouseout会以hover的方式做出同样的反应。

答案 2 :(得分:0)

事实上,当你将鼠标放在分页上时,会发生一个神奇的事情,称为“事件冒泡”:“悬停”事件被传递给父容器“悬停”对象,等等,直到“文档”对象。

所以要解决你的问题,你需要停止冒泡,你可以用“return false”来做:

$(".paging").hover(function() {
    return false;
}, function() {
    return false;
});

(在最近的jquery版本中,你可以用 false 替换参数function(){return false;}。)