Tôi cần phát hiện hướng mà người dùng cuộn - "lên" hoặc "xuống". Dựa trên mã được tìm thấy trong câu trả lời này: How can I determine the direction of a jQuery scroll event?jQuery/JavaScript: Phát hiện hướng cuộn - vấn đề về cấu trúc mã
Tôi đã cố gắng bọc nó trong một chức năng để phân biệt hơn một chút - nhưng rất tiếc, nó không hoạt động. Tôi nghĩ rằng nó có một cái gì đó để làm với cách tôi trả lại giá trị, nhưng hướng luôn luôn là "lên". Khá mới đối với JavaScript Tôi đang gặp sự cố khi giải quyết vấn đề này.
Đây là mã:
$(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());
});
});
Và tôi cũng đã thiết lập một Fiddle.
Bạn có thể giúp tôi phát hiện ra vấn đề ở đâu không?
Tôi khuyên bạn nên di chuyển hàm của bạn và khai báo biến bên ngoài hàm sẵn sàng. Tôi không chắc chắn nếu điều này sẽ giải quyết vấn đề, nhưng nó có thể có giá trị một shot. –
@AdamPlocher Cảm ơn bạn đã mẹo, nhưng nó không giúp ích gì. Tuy nhiên, có lợi thế chung nào về việc này không? Có lẽ hiệu suất khôn ngoan? – Sven