2017-08-10 1 views
0

スクロールするときにページの見出しのロゴ画像をフェード効果で置き換えようとしています。それは正しい方法で作業を開始し、イメージの置換は行われますが、サイトをスクロールし続けている間は、新しいロゴがフェードし続けます。ここでJavaScriptを使用してスクロールしながら画像を置き換えた後にフェードが繰り返されます

は私のコードです:

​​

あなたは、私はそれを修正する可能性がどのようにwww.ultramarinosvillena.com でそれを見ることができますか?

+0

をフェードインまたはアウトしようとする前に[animating](https://api.jquery.com/animated-selector/) – Pete

+0

私はあなたが何を意味するのかよく分かりません – exceso

答えて

0

編集:申し訳ありませんが、私の間違い - 最初に投稿して考える。 ;)各スクロールイベントで条件文の1つがトリガされました。スクロールポイントに達すると、1回だけトリガされます。

あなたはNAV-スクロールクラスチェックする必要があります:あなたは、ロゴは、現在(https://api.jquery.com/visible-selector/)[表示]であるかどうかを確認するためにチェックを入れることができ

$(document).ready(function(){ 

    var $navbar = $(".navbar-fixed-top"), 
     $logo = $("#logo"), 
     currentScroll; 

    $(window).on('scroll', function(){ 

     currentScroll = $(window).scrollTop(); 

     if (currentScroll > 100 && !($navbar.hasClass('nav-scrolled'))) { 

      $navbar.addClass("nav-scrolled"); 
      $logo.fadeOut('',function(){ 
       $(this).attr('src','Template/images/logo-scrolled.png').fadeIn(); 
      }); 

     } else if (currentScroll < 100 && $navbar.hasClass('nav-scrolled')) { 

      $navbar.removeClass("nav-scrolled"); 
      $logo.fadeOut('',function(){ 
       $(this).attr('src','Template/images/logo.png').fadeIn(); 
      }); 
     } 

    }); 
}); 
+0

ありがとうあなたはエリック。私はあなたのコードを試しましたが、同じままです... – exceso

+0

私は自分の投稿を編集しました。うまくいけばそれは今働くだろう。 – Erik

+0

コードを更新しました。それはほぼ完璧に動作します。フェージングは​​終了しましたが、ページの一番下からスクロールすると、最初の画像は表示されません。 – exceso

関連する問題