0

私はjQuery(3レベル)でアニメーションメニューをやっています。私はエフェクトslideDownとを使用していslideUpます。時々 (常にではありません)、最初のメイン アイテムのサブメニューを開くと、ページを更新するまで 2 番目のメイン アイテムのサブメニューが機能しません。エフェクトfadeInfadeOutで問題なく動作しますが、スライドを使用したいです。

ここに私のコードがあります: http://jsfiddle.net/mcCAx/

4

2 に答える 2

0

問題は、要素のスタイリング<ul class="SubStage">がオーバーライドされていたことです。したがって、コールバックでスタイリングを再上書きすることで、火と火を戦ってください。サイドメニューは毎回表示されます。:)

$(document).ready(function()
{    

    $('li.MainStage').hover(
    function()
        {
            $(this).find('ul.SubStage').slideDown('slow',function(){
                $(this).parent().find('ul.SubStage').css({overflow:"visible"});
            });
        },
    function()
        {
            $(this).find('ul.SubStage').stop().slideUp('slow');
        });

    $('li.SubStage').hover(
    function()
        {
            $(this).find('ul.Sub2Stage').slideDown('slow');
        },
    function()
        {
            $(this).find('ul.Sub2Stage').stop().slideUp('slow');
        });        
});​

こちらをご覧ください。

于 2012-09-19T23:07:44.170 に答える
0

これは私のためにそれを修正しました

$(document).ready(function()
    {    
        $('li.MainStage').hover(        function()
            {
                $(this).stop();
                $(this).find('ul.SubStage').slideDown('slow');
            },        function()
            {
                $(this).stop();
                $(this).find('ul.SubStage').slideUp('slow');
            });

        $('li.SubStage').hover(        function()
            {
                $(this).stop();
                $(this).find('ul.Sub2Stage').slideDown('slow');
            },        function()
            {
                $(this).stop();
                $(this).find('ul.Sub2Stage').slideUp('slow');
            });        
    });
于 2012-09-19T21:25:57.347 に答える