1

スクロール イベントによる要素の位置の移動に問題があります。問題: ページを上にスクロールして、CSS のトップ値に 1px を追加します (スクロールするたびに)。この後、ページを下にスクロールし、css の上部の値から 1px を削除します。元の位置に戻ると思いますが、そうではありません。これが私のコードです:

var lastScroll = $(window).scrollTop();

$(window).scroll(function(env) {

 var scroll = $(this).scrollTop();

 if (scroll > lastScroll){
    console.log('Scroll down');
    $('#home>article').css({ 
      top: "+="+1+"px"
    });                                                 
 } else {
   console.log('Scroll up');
   $('#home>article').css({
      top: "-="+1+"px"
 });

lastScroll = scroll;

});

すべてのアイデアをありがとう!

4

2 に答える 2

0

スクロール イベントが発生するとき、スクロールされたピクセルごとに 1 回発生するとは限りません。1 回 10 ピクセル、次は 2 ピクセルスクロールした後に発生する可能性があります。ハンドラーへの最後の呼び出しから scrollTop デルタ (変更) を追跡する必要があります。

于 2013-08-07T13:00:36.510 に答える