【问题标题】:Adding mouseOut time添加 mouseOut 时间
【发布时间】:2010-07-09 03:58:17
【问题描述】:

如何修改this 脚本,以便当我将鼠标移出子菜单时,它仍保持打开 x 秒?

目前,一旦我鼠标移出,它就会滑动(隐藏)。我需要在 x 秒后隐藏的类似 hoverintent 的功能。

HTML:

<div id="navigation">
        <ol>
            <li><a href="#" class="parent">Menu 1</a>
                <div class="submenu clear"><div class="listings clear"> content</div></div>
            </li>         
        </ol>
</div>

感谢您的帮助!

【问题讨论】:

  • 您可以在示例中添加一些 html...
  • 更新了我的答案。这应该对你有帮助。

标签: jquery menu mouseout


【解决方案1】:

类似:

jQuery(element_here).delay(5000).slideup('fast', function() {
    bm_item_link_obj.removeClass("bm-item-link-hover");
});

会工作

如果您基于问题/JSfiddle 中的 html,您可以将 select 语句中的 JS 更改为如下所示:

case "slideUp":
    bm_item_content_obj.delay(5000).slideUp( 'fast',  function() {
        bm_item_link_obj.removeClass("bm-item-link-hover");
    });

另外最好是换行:

$("#navigation ol").bigmenu();

在:

$(document).ready(function () {

    // NAVIGATION
    $("#navigation ol").bigmenu();

});

$(window).load(function () {

    // NAVIGATION
    $("#navigation ol").bigmenu();

});

要让其他链接在您立即转到另一个链接时向上滑动,您需要这样做:

$(".submenu").not(bm_item_content_obj).stop(true, true).slideUp("fast");

低于已有内容:

 case "slideDown":

所以它看起来像:

case "slideDown":
      bm_item_content_obj.height("auto");
      bm_item_content_obj.slideDown(100);

      $(".submenu").not(bm_item_content_obj).stop(true, true).slideUp("fast");
break;

【讨论】:

  • 几乎完美,只有一件事:当我从一个菜单移动到另一个菜单时,两个子菜单都保持打开状态;上一个应该关闭。
  • 那你的代码一定有错误。如果您在 jsFiddle 上提供了一个工作示例,而不仅仅是可能有帮助的代码。
  • 我将 html 复制到 jsFiddle 中,它可以工作。延迟设置为 5 秒(5000 毫秒)。也许你需要改变它。
  • 是的,它有效,但问题是,如果您打开“parent1”的子菜单并移动到“parent2”,之前打开的子菜单应该立即关闭,这不会发生。
  • 但是您说您希望延迟发生。它您希望它立即关闭,您不需要延迟部分。
【解决方案2】:

我觉得我在这里做别人的工作,但无论如何,让事情消失的代码似乎是这样的:

bm_item_content_obj.slideUp( 'fast',  function() {
    bm_item_link_obj.removeClass("bm-item-link-hover");
});

因此,如果您希望它在 x 秒后发生,只需将其包装在计时器中即可:

setTimer(function() {

    bm_item_content_obj.slideUp( 'fast',  function() {
        bm_item_link_obj.removeClass("bm-item-link-hover");
    });

}, 5000); // 5 seconds

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 1970-01-01
    • 2016-10-02
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多