2016-11-01 18 views
0

スクロール時に各画像を反対方向に移動させるスクロールエフェクトを作成しています。私はこれを達成しましたが、あなたがスクロールするほど、スクロールは滑らかでなくなり、ジッターが増します。div要素が逆方向に移動するとジッタがスクロールする

私は、イメージ(アイテム)ごとにビューポートの上部から常に距離が離れているからだと思います。誰もこれを回避する方法を知っていますか?

var $animatedEls = $(".block-inner"); 

     $(window).scroll(function(e) { 
     e.preventDefault(); 
     var scrollTop = $(window).scrollTop(); 
     var offset = 0; 

     // Loop through each image (.block-inner) 
     $.each($animatedEls, function(i, item) { 

      // Get offset for each .inner-block 
      offset = $(item).offset().top - scrollTop; 

      console.log(i+') '+offset); 

      // Apply to every second item 
      if (i % 2) { 
       $(item).css("transform","translateY(-" + (offset/20) + "px)"); 
      } else { 
       $(item).css("transform","translateY(" + (offset/20) + "px)"); 
      } 
     }); 

}); 

フィドルを追加しました:https://jsfiddle.net/2bos5oqh/4/

+0

はjsfiddleは、問題を再現するために作る機能をデバウンス試してみてください。あなたが視差がほしいと言ったときにあなたが何を意味しているのかを知ることは難しく、視差を使用しないウェブサイトの例を投稿します。 –

+0

Fiddleはhttps://jsfiddle.net/2bos5oqh/4/を追加しましたが、jsfiddleサイトでスムーズにスムーズにスクロールしているように見えます – Bowen

+0

jitteryスクロールはページのolther要素に起因するようです。 –

答えて

0

は、アニメーションはアニメーションの期間を持っていますか?もしそうなら、単一の更新が完了する前にスクロールイベントが複数回発生している可能性があります。

https://davidwalsh.name/javascript-debounce-function

+0

いいえページのスクロールでアニメーションが再生されます – Bowen

関連する問題