1

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

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

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>

谢谢你的帮助!

4

2 回答 2

2

就像是:

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;
于 2010-07-05T15:32:25.937 回答
0

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

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
于 2010-07-05T14:36:34.980 回答