Question

Comment modifier ce script de sorte que lorsque je mouseOut du sous-menu, il reste encore ouvrir pendant x secondes?

Actuellement, il slidesup (peaux) dès que je mouseOut. J'ai besoin de hoverintent comme la fonctionnalité où il se cache après x secondes.

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>

Merci pour votre aide!

Était-ce utile?

La solution

Quelque chose comme:

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

fonctionnerait

Si votre basant sur votre code html dans votre question / jsFiddle, vous changeriez votre JS dans l'instruction select pour ressembler à ceci:

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

Il serait également préférable de conclure:

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

:

$(document).ready(function () {

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

});

que

$(window).load(function () {

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

});

Pour obtenir d'autres liens à glisser vers le haut quand vous allez à un autre lien de là, vous avez besoin directement ceci:

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

ci-dessous ce qui est déjà:

 case "slideDown":

Il ressemblera à:

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;

Autres conseils

Je sens que je fais elses quelqu'un travaille ici, mais de toute façon, le code qui fait disparaître le chose semble que c'est ceci:

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

Il suffit donc de l'envelopper dans une minuterie si vous voulez que cela se produise après x secondes:

setTimer(function() {

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

}, 5000); // 5 seconds
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top