Xem http://codepen.io/anon/pen/NGqPNzGiải thích lý do tại sao scrollTop() luôn trả về 0 đây
CSS:
html {
height: 100%;
overflow-y: hidden;
}
body {
height: 100%;
overflow-y: auto;
}
JS:
$('body').bind("scroll", function() {
if ($('body').scrollTop()) {
console.log('triggered!');
} else {
console.log($('body').scrollTop());
}
});
sự kiện Các cuộn được bắn vào các yếu tố cơ thể. Thanh cuộn nằm trên phần tử nội dung, không phải trên phần tử html hoặc phần tử cửa sổ. Vậy tại sao document.body.scrollTop hoặc $ ('body'). ScrollTop() trả về 0?
Có cách nào tôi có thể phát hiện vị trí thanh cuộn với điều này hoặc tôi bị kẹt nếu tôi muốn sử dụng chiều cao: 100%; overflow: hidden trên phần tử html?
Cảm ơn!
Tôi nghĩ rằng đó là một lỗi webkit. Làm việc với Firefox. https://code.google.com/p/chromium/issues/detail?id=423935 – Shikkediel
Cảm ơn! Tôi thiết lập cơ thể để overflow-y ẩn và thêm một div wrapper với chiều cao 100 và overflow-y tự động, và các sự kiện di chuyển/scrollTop hoạt động trên div. – tdj