3

ページのスクロールをリッスンするコードがいくつかあり、「ページ」が変更されたときに必要なアクション(機能する)を実行するだけでなく、scrollTopを最も近い「ページ」にアニメーション化するという2つのことを担当しますが、そうすることでscroll イベントが発生するため、ドキュメントの最後に到達するまで、すべての「ページ」を順番にクロールします。

animate scrollTop がスクロールイベントを発生させないようにするにはどうすればよいですか? それは可能ですか?

これは iPad の HTML ページであり、1024x768 の各ビューが「ページ」であるため、「ページ

4

1 に答える 1

1

この投稿で答えを見つけることができます: https://stackoverflow.com/a/1659231/237838

アニメーション値を設定する独自のコードを作成し、変更がアニメーションによるものであることを示すフラグを設定できます。

例: (未テスト)

var scrollAnimating = false
jQuery.fx.step.scrollTop = function(E) {
    scrollAnimating = true;
    E.elem.scrollTop = E.now;
    scrollAnimating = false;
};

$('#gototop').click(function() {
    $('body').animate({scrollTop:0},3000);
    $(window).scroll(function () {
        if (!scrollAnimating)
            $('body').stop();
    });
    return false;
})
于 2013-03-15T14:50:25.137 に答える