2016-05-27 11 views
1

ユーザーがサイトをスクロールしているときにimgがgifに変わるようにしようとしています。スクロールイベントのjquery

HTML

<img src="img/giphy.gif" alt="" id="imgAnimate"> 

jQueryの

$(document).ready(function() 
     { 
      $("#imgAnimate").hover(
       function() 
       { 
        $(this).attr("src", "img/giphy.gif"); 
       }, 
       function() 
       { 
        $(this).attr("src", "img/giphy.png"); 
       }); 
     }); 

私はこれを得たが、今はそれがGIFに変更IMGの上に置くと、それがあります。 ユーザーがスクロールしているときにどうすればいいのですか?

お手伝いがありがとうございます。

+0

'$("#imgAnimate ")。hover'の代わりに' $(window).scroll'を使います。 – Mohammad

+0

@モハマドノーはうまくいきません。 –

+0

ユーザーが画像そのものにスクロールしたり、一般的にスクロールしているのですか? –

答えて

1

https://jsfiddle.net/q6Lun0dj/1/

は、このスクリプトを使用することができますスクロールを停止するとき、あなたはこのコード

$(document).ready(function(){ 
     $(window).scroll(function(){ 
       $(this).attr("src", "img/giphy.gif"); 
      }); 
    }); 

を使用することができます。

(function($) { 
    $(function() { 
    var scrollNow = false; 
    $(window).scroll(function() { 
     if(!scrollNow){ 
     scrollNow = true; 
     $("#imgAnimate").attr("src", "http://bart.aoweb.nl/template%205/img/giphy.gif"); 
     } 
     clearTimeout($.data(this, "scrollCheck")); 
     $.data(this, "scrollCheck", setTimeout(function() { 
     scrollNow = false; 
     $("#imgAnimate").attr("src", "http://bart.aoweb.nl/template%205/img/giphy.png"); 
     }, 250)); 

    }); 

    }); 

})(jQuery); 
を10
+0

完全に動作していないようです。ここにリンクがありますhttp://bart.aoweb.nl/template%205/キャラクターがスムーズに動くようにしたいのですが、スクロールすると、それを修正する方法を知っていますか? –

+0

私は答えを更新しました。あなたが望むものが欲しいと願っています。実際の例はここにあります。https://jsfiddle.net/5rharr4h/ –

+0

ありがとうございます:) –

0

現在、イメージがホバリングされているかどうかを確認していて、ソースを変更しています。代わりに、documentscrollイベントリスナーを添付します。

$(document).on('scroll', callback); 
+0

別の方法で作業していませんか? –

1

あなたがスクロールすると、あなたが Event when user stops scrolling

+0

私はそのコードを試しましたが、スクロールしていないときにgifが動いていますか、またはHTMLのaswelで何かを変更する必要がありますか? –

+0

私はうまくいくと思っていますが、そのコードではどこにGIFを配置するのかわかりません –

関連する問題