在.delay()之后选择菜单元素

时间:2014-03-27 23:01:26

标签: jquery html menu delay slidedown

我花了很多时间思考如何处理它,但没有结果。 我有一些HTML代码:

<aside class="column-left">
        <ul class="menu">
           <li><a href="#">Cukierki</a>
                <ul class="subMenu">
                    <li><a href="#">Cukierki</a></li>
                    <li><a href="#">Lemoniada</a></li>
                    <li><a href="#">Wata cukrowa</a></li>
                    <li><a href="#">Wlochate Nogi</a></li>
                </ul>
            </li>
            <li><a href="#">Lemoniada</a>
                <ul class="subMenu">
                    <li><a href="#">Leonidas</a></li>
                    <li><a href="#">Britney</a></li>
                    <li><a href="#">Herkules</a></li>
                    <li><a href="#">Vader</a></li>
                </ul>
            </li>
            <li><a href="#">Wata cukrowa</a>
                <ul class="subMenu">
                    <li><a href="#">Cukierki</a></li>
                    <li><a href="#">Lemoniada</a></li>
                    <li><a href="#">Wata cukrowa</a></li>
                    <li><a href="#">Drewno z metalu</a></li>
                </ul>
            </li>
            <li><a href="#">Gówno</a></li>
         </ul>
    </aside>

和jQuery代码:

PROJECT = {
init: function(){
    this.showMenu();
},
showMenu: function(){
  $('.column-left .menu li').on({
    mouseenter: function(){
        $(this).find('.subMenu').stop(true,true).slideDown();
    },
    mouseleave: function(){
        $(this).find('.subMenu').stop(true,true).delay(1000).slideUp();
    }
  })
 }
}
$(document).ready(function(){  
  PROJECT.init();
});    

当我从上到下选择li时,一切正常,但反过来我需要等待1秒,直到&#34;新的&#34; .subMenu向下滑动。我想要获得的效果正在改变.subMenu在我徘徊时的确切时间。我需要延迟才能到达.subMenu,这是远离&#39; li&#39;。 我做错了什么?:D

1 个答案:

答案 0 :(得分:0)

如果我理解:

只需更改此内容(删除delay(1000)):

$(this).find('.subMenu').stop(true,true).delay(1000).slideUp();

$(this).find('.subMenu').stop(true,true).slideUp();

不确定你的问题是什么。