0

現在、小さなフェードイン フェードアウト サブナビゲーション メニューを作成しています。マウスオーバーすると、サブナビゲーションメニューが最初にフェードインし、次にアニメーションダウンするという事実を除いて、すべてが正常に機能しています。これを同時に行う必要があるため、先に進んでキューを無効にしましたが、何らかの理由でまだフェードしてから、シーケンスでアニメーション化します:C. おもしろいことに、マウスを離すと、動きとフェードが同時に行われます。非常に紛らわしいです。

$(document).ready(function(){
    $("ul.subNavMenu").fadeTo(0,0);
    $("ul.navMenu").hover(
        function() {
            $("ul.subNavMenu").animate({opacity: 1, marginTop: "20px"}, {duration: 1000, queue:false});
        },
        function() {
            $("ul.subNavMenu").animate({opacity: 0, marginTop: "0px"}, {duration: 1000, queue:false});
        }
    );
});

これがフィドルです: http://jsfiddle.net/Hmvd3/2/

助言がありますか?

4

2 に答える 2

1

stop() を試すことができます。

$("ul.navMenu").hover(
        function() {
            $("ul.subNavMenu").stop().animate({opacity: 1, marginTop: "20px"}, {duration: 1000, queue:false});
        },
        function() {
            $("ul.subNavMenu").stop().animate({opacity: 0, marginTop: "0px"}, {duration: 1000, queue:false});
        }
);
于 2012-08-16T01:03:29.580 に答える
0

デフォルトのイージングは​​ swingです。設定easing: 'linear'すると問題が解決するはずです。

http://jsfiddle.net/nickaknudson/Hmvd3/

資力

于 2012-08-16T02:28:00.293 に答える