2011-07-21 2 views
0

この問題があります。私はスライディングメニュー(3レベル)といくつかの時間を上下にスライドするマウスで私はいくつかの簡単なクロスオーバーメニューを持っています。私はjQuery関数の.stop()がこれを修復することを知っているが、私はそれを使う方法を知らない。私はsomethinkしようと好きjQueryのスライドメニュー - .stop()

$(document).ready(function(){ 
    $('menu li').hover(function() { 
     $(this).find('ul.menu2').slideDown().end().find('a.prvy').css('backgroundPosition','bottom center'); 
     var width = $(this).find('ul.menu2').css("width"); 
     $(this).find('ul.menu2 li ul.menu3').css("left",width); 
     $(this).find('ul.menu2>li').hover(function() { 
      $(this).find('ul.menu3')).fadeIn().end().find('div.text').addClass('activ'); 
     }, function() { 
      $(this).find('ul.menu3').fadeOut().end().find('div.text').removeClass('activ'); 
     }); 

    }, function() { 
     $(this).find('ul.menu2').slideUp(300).end().find('a.prvy').css('backgroundPosition','top center'); 
    }); 
}); 

:それは仕事をdoesntの

$('menu li').stop(false,true).hover(function() { 

OR

$('menu li').stop(true,true).hover(function() { 

しかし

私はこのjqueryのコードを持っています。

ご回答いただきありがとうございます。私の英語をお詫び申し上げます。

+1

正解を受け取ったら、それを他のGoogle社員や回答者にも役立つとマークしてください。 – Rafay

答えて

1

ホバー機能内でstopを呼び出す必要があります。

$(document).ready(function(){ 
    $('menu li').hover(function() { 
     $(this).find('ul.menu2').stop(... 
    }, function() { 
     $(this).find('ul.menu2').stop(... 
    }); 
}); 

@のtfboxの他のコメントをもとにアップデート:

あなたがfadeInfadeOutを使用しているので、true, truestopを呼び出すことになるでしょう。最後にジャンプしたくない場合は、これらを使用することはできません。代わりにfadeToを使用する必要があります。

+0

私の投稿を削除しました。長い一日です。私は驚いた。 – daryl

+0

あなたが言うように私はstop(真、真)を使用します。しかし、何も起こらなかった。 http://scooter-racing.eu/neweb/ – Darkry

+0

私の答えを更新しました。アニメートしている要素でstopを呼び出す必要があります。 '$(this).find( 'ul.menu2')' –

関連する問題