我需要檢測用戶滾動的方向 - 「向上」或「向下」。基於在這個答案中找到的代碼:How can I determine the direction of a jQuery scroll event?jQuery/JavaScript:檢測滾動方向 - 代碼結構問題
我試圖把它包裝在一個函數,所以它有點差異 - 但不幸的是,它不工作。我認爲這與我如何回報價值有關,但方向總是「向上」。相當新的JavaScript,我有問題解決這個問題。
下面是代碼:
$(document).ready(function() {
'use strict';
var lastScrollTop = 0,
st,
direction;
function detectDirection() {
st = window.pageYOffset;
if (st > lastScrollTop) {
direction = "down";
} else {
direction = "up";
}
lastScrollTop = st;
return direction;
}
$(window).bind('scroll', function() {
detectDirection();
console.log(detectDirection());
});
});
而且我還設置了一個Fiddle。
你能幫我找出問題所在嗎?
我建議移動你的函數和變量聲明在ready函數之外。我不確定這是否能解決問題,但可能值得一試。 – 2013-03-07 06:34:35
@AdamPlocher感謝您的提示,但它沒有幫助。不過,這樣做有沒有一般優勢?也許表現明智? – Sven 2013-03-07 06:36:15