1

別の div にカーソルを合わせると div をフェードする j-query スクリプトがあります。div はフェードアウトと同じレートでフェードインします。私が達成したいのは、マウスオーバー時にdivをゆっくりとフェードインさせ、マウスアウト時に非常に速くフェードアウトさせることです。

私がこれまでに持っているスクリプトは次のとおりです。

// JS code
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $("#nav1").hover(function(){
            $("#splat1").fadeToggle(2000);
        });
    });
</script>

したがって、現在、#splat1 div は 2 秒でフェードインしてから再びフェードアウトします。私が理想的に望むのは、2 秒以上かけてフェードインし、その後 0.5 秒でフェードアウトすることです。助言がありますか?

4

2 に答える 2

5

.hover () 関数は、フェードイン用とフェードアウト用の 2 つの関数を受け入れることができます。

$("#nav1").hover(function(){
        $("#splat1").stop().fadeToggle(2000);
    },
    function(){
        $("#splat1").stop().fadeToggle(500);
    });

http://jsfiddle.net/3yfX6/

API によると、これは実際には .mouseenter() および .mouseleave() 関数呼び出しの省略形であり、これらも使用できます。

$("#nav1").mouseenter(function(){
    $("#splat1").stop().fadeToggle(2000);
}).mouseleave(
    function(){
    $("#splat1").stop().fadeToggle(500);
});
于 2013-08-20T19:40:24.610 に答える