1

次のようにして、ユーザーが左または右にスクロールした場合にのみ起動する関数があります。

var currentScrollLeft = visibleArea.scrollLeft();

visibleArea.scroll(function () {
    var newScrollLeft = visibleArea.scrollLeft();

    if (newScrollLeft > currentScrollLeft) {
        // do something
    }
});

しかし、これは、のわずかな変更の後でさえ発生しscrollLeftます。たとえば、一定量以上動かされた場合にのみ発砲するように指示する方法はあります50か?

4

1 に答える 1

3
if((Math.abs(newScrollLeft - currentScrollLeft)) > 50)

したがって、上記のコードは次のようになります。

var currentScrollLeft = visibleArea.scrollLeft();

visibleArea.scroll(function () {
    var newScrollLeft = visibleArea.scrollLeft();

    if (Math.abs(newScrollLeft - currentScrollLeft) > 50) {
        // do something
    }

    currentScrollLeft = visibleArea.scrollLeft();
});
于 2012-09-24T12:17:56.547 に答える