如何統計jquery/javascript中的滾動鼠標? 像初始值0一樣,向下滾動++ 1並向上滾動--1。 而不是-1。必須是積極的。如何統計jquery中的鼠標滾輪滾動
如果我滾動2次向下然後值將是2,然後滾動一次最多然後值是1。
如何統計jquery/javascript中的滾動鼠標? 像初始值0一樣,向下滾動++ 1並向上滾動--1。 而不是-1。必須是積極的。如何統計jquery中的鼠標滾輪滾動
如果我滾動2次向下然後值將是2,然後滾動一次最多然後值是1。
這裏是你的問題
var scrollCount = 0,
latestScrollTop = 0,
doc = document.documentElement,
top = 0;
// Bind window scroll event
$(window).bind('scroll', function (e) {
top = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
if (latestScrollTop < top) {
// Scroll down, increment value
scrollCount += 1;
} else {
// Scroll up, decrement value
scrollCount -= 1;
}
// Store latest scroll position for next position calculation
latestScrollTop = top;
});
新值會在滾動後存儲在頂端? 對不對? //商店下一位置計算最新滾動位置 – 2015-03-02 13:15:50
要確定我們是否向上或向下滾動,我們需要存儲的下一個驗證此值。滾動量需要的值是「scrollCount」。 – 2015-03-02 13:23:17
這兩種方法都適用於我 – 2015-03-02 13:43:55
scrollcount=0;
$(document).ready(function(){
$("div").scroll(function(){
$("span").text(scrollcount+=1);
});
});
$(document).ready(function(){
var scrollPos = 0;
var Counter = 0;
$(window).scroll(function(){
var scrollPosCur = $(this).scrollTop();
if (scrollPosCur > scrollPos) {
Counter -= 1;
} else {
Counter += 1;
}
scrollPos = scrollPosCur;
});
});
的代碼進行比較的滾動條的位置。 scrollPos
顯示您向下移動滾動條的像素數量,它的初始值爲0
,因爲它從頂部開始。
當您滾動頁面時,scrollPosCur
將首先保存滾動條的當前位置。之後,我們比較數值如何變化:
如果當前值大於保存的值,則表示滾動條已向下移動,因此您的Counter
增加了1
。 與此相似,當scrollPosCur
小於scrollPos
時,我們將Counter
遞減1
。
爲了保持代碼正常工作,我們保存當前值以便與將來的滾動事件進行比較。
這是怎麼回事:(scrollPosCur> scrollPos)? – 2015-03-02 13:08:00
@JasjeetSingh:最終確定了答案。 – Tacticus 2015-03-02 13:27:49
謝謝它適合我。 @Mike Vranckx的答案也有效。 – 2015-03-02 13:43:08
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
$('.scrollToTop').fadeIn();
} else {
$('.scrollToTop').fadeOut();
}
});
//Click event to scroll to top
$('.scrollToTop').click(function() {
$('html, body').animate({ scrollTop: 0 }, 800);
return false;
});
這[獲取jQuery的鼠標滾輪事件(http://stackoverflow.com/questions/8189840/get-mouse-wheel-events一個可能的解決方案-in-jquery)有一些有用的答案。 – lshettyl 2015-03-02 13:15:03