0

この質問がばかげていないことを願っています...私はまだ初心者です!

私は今ポートフォリオ サイトを構築しようとしています。hellothisis.ccで見ることができます。

私の目標は、著作権記号を数秒間完全に不透明にしてから、不透明度を.1に下げることです。これで成功したと思います。コードはゲットーかもしれませんが、動作しますか? また、ホバーすると著作権記号が完全に不透明な赤に変わり、マウスを動かすとフェードアウトした灰色に戻るホバー プロパティが必要でした。

著作権記号が持つ非表示とクリック機能を含む、これまでの私のコードは次のとおりです。

<script type="text/javascript">

    $(document).ready(function() {
      $(".name").delay(1000).fadeTo('slow', 0.1, function() {
         $(".name").hover(function() {
             $(this).animate({ opacity: 1 });
             });
      });
    });

    $('.bio').hide();
    $('.name').click(function(){
        $('.bio').fadeToggle(1000);
    });
</script>

私の問題は、色あせた灰色の上にマウスを置いた後、マウスを離した後でも完全に不透明なままであることです。どんな助けでも大歓迎ですありがとう!

4

2 に答える 2

0

次を使用できます。

$(".name").hover(function() {
  $(this).animate({ opacity: 1 });
}, function(){
  $(this).animate({ opacity: .1 });
});

最初の関数はイベントが発生したときに使用されmouseenter、2番目の関数はmouseleaveイベントが呼び出されたときに使用されます。

しかし、将来のイベントの委任を検討することをお勧めします。

于 2013-02-09T08:38:21.390 に答える
0

直接バインドします。遅延+フェデトが完了するのを待つ必要はありません(+そのフェデト中に誰かがマウスオーバーすると、より論理的な不透明度1に戻ります

 $(".name").on({
          mouseover : function(e) {
                   $(this).stop().animate({ opacity: 1 });
         },
          mouseout : function(e) {
                   $(this).stop().animate({ opacity: 0.1 });
          }
 }).delay(1000).fadeTo('slow', 0.1);

編集:順番にチェーン

于 2013-02-09T08:38:05.407 に答える