2016-10-20 8 views
0

私はユーザーとの距離を計算しようとしています$(document).scroll(..)イベント内で左右にスクロールしました。

$(function() { 

    $(document).scroll(function() { 

     console.log($(document).scrollLeft()); 

     console.log('=========='); 

    }); 

}); 

あなたはここにフィドルを見ることができます:https://jsfiddle.net/5twd82bo/

は基本的に、私は、ユーザーがスクロールしているとして、コンソール出力の最後の2つの値の差を計算します。

助けていただけたら幸いです!

ありがとうございました

+0

ドキュメントがスクロールしない可能性があります。ウィンドウ、本文、または要素は – adeneo

+0

となりますか?https://jsfiddle.net/5twd82bo/1/? –

+0

おかげで@ A.Wolff ...あなたの提案は正しい方向に私を指摘! – IonicBob

答えて

0

基本的には、スクロール停止イベントです。

スクロールイベントでsetTimeout関数を適用すると、新しいスクロール停止イベントを作成できます。

$(function() { 
 
$.fn.scrollStopped = function(callback) { 
 
    var that = this, $this = $(that); 
 
    $this.scroll(function(ev) { 
 
    clearTimeout($this.data('scrollTimeout')); 
 
    $this.data('scrollTimeout', setTimeout(callback.bind(that), 250, ev)); 
 
    }); 
 
}; 
 
    
 
    var prevVal=0; 
 
    
 
    $(document).scrollStopped(function() { 
 
    
 
    \t console.log(prevVal - $(document).scrollLeft()); 
 
    prevVal = $(document).scrollLeft(); 
 
    \t //console.log($(document).scrollLeft()); 
 
    
 
    //console.log('=========='); 
 
    
 
    }); 
 
    
 
});
div { 
 
    width:5000px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
hello 
 
</div>

Upvote場合に役立ちます。