3

ユーザーの左または右へのスクロールを確認する方法は?

以下のコードは私が試したものですが、動作しません....

$('.inner').scroll(function(){
    console.log('scroll');
    ol = $('.inner').scrollLeft();
    if(ol > $('.inner').scrollLeft()){
        //  console.log('right');
        //  ol = $('.inner').scrollLeft();
    }else{
        //  console.log('left');
        //  ol = $('.inner').scrollLeft();
    }
});
4

2 に答える 2

0

HTML マークアップがどのように見えるかわかりませんがscrollLeft、コンテナーを保存してスクロール時に比較する必要があります。また、スクロールの開始と終了を検出するロジックも追加しました。

var container = $('.outer');
var initVal = container.scrollLeft();
var isScrolling = false;
container.scroll(function(e){
    var curVal = container.scrollLeft();
    if (!isScrolling) {
        $(window).one("mouseup", function(e){
            console.log("Stopped scrolling at", container.scrollLeft());
            isScrolling = false;
        });
        console.log("Started scrolling at", curVal);
    }    
    if (curVal === initVal) return;
    if (curVal > initVal) {
        console.log("Scrolling right");
    } else {
        console.log("Scrolling left");
    }
    initVal = curVal;
    isScrolling = true;
});

jsFiddle のテスト ケースを参照してください。

于 2013-06-26T06:04:16.557 に答える