1

サブメニューからマウスアウトしても 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>

ご協力いただきありがとうございます!

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 に答える