Tôi đang thiết kế một trang web rất đơn giản (chỉ HTML), "tính năng" duy nhất tôi muốn thực hiện là làm điều gì đó khi người dùng cuộn xuống trang, có cách nào để nắm bắt "sự kiện" đó không?Chụp sự kiện "cuộn xuống"?
Trả lời
Chỉ cần cho đầy đủ, có một giải pháp sử dụng một khuôn khổ JS (Mootools)
window.addEvent('scroll',function(e) {
//do stuff
});
Bạn không thể làm điều đó chỉ với HTML, bạn sẽ cần phải sử dụng Javascript. Tôi khuyên bạn nên sử dụng jQuery, vì vậy giải pháp của bạn có thể trông như thế này:
$(document).ready(function() {
$(window).scroll(function() {
// do whatever you need here.
});
});
Nếu bạn không muốn hoặc không thể sử dụng jQuery, bạn có thể sử dụng giải pháp onscroll
đăng bởi Anthony.
Tôi đoán anh ấy đang tìm kiếm chỉ cuộn xuống không cuộn lên. có gì để cuộn xuống không. –
Nếu bạn không muốn sử dụng jQuery (mà bạn có thể không làm cho một trang HTML rất đơn giản), bạn có thể thực hiện điều này sử dụng thường xuyên Javascript:
<script>
function scrollFunction() {
// do your stuff here;
}
window.onscroll = scrollFunction;
</script>
Bạn nói rằng bạn muốn làm điều gì đó khi họ cuộn xuống trang - sự kiện trên máy bay sẽ kích hoạt cuộn theo bất kỳ hướng nào, trong trục x hoặc trục y, do đó chức năng của bạn sẽ được gọi bất kỳ lúc nào chúng cuộn.
Nếu bạn thực sự muốn nó chỉ chạy mã của bạn khi họ cuộn xuống trang, bạn cần phải giữ nguyên vị trí cuộn trước đó để so sánh với bất kỳ khi nào cuộn được gọi.
Nên sử dụng 'attachEvent' (IE) và' addEventListener' (mọi thứ khác) có thể thay vì 'onscroll'. – crush
@crush, Tại sao sử dụng attachEvent và addEventListener thay vì onscroll? – Pacerier
@Pacerier Được rồi, hãy để tôi xem lại nhận xét này vì nó gây hiểu lầm và dựa trên thông tin bị lỗi mà tôi thu được và đang được truyền bá trên Internet. Theo [đặc tả HTML5 của W3C] (http://www.w3.org/TR/html5/webappapis.html#event-handlers-on-elements,-document-objects,-and-window-objects), có không có gì sai khi sử dụng 'onscroll'. Điều quan trọng cần lưu ý là 'onscroll' cụ thể, không tồn tại trong [HTML4 specification] (http://www.w3.org/TR/html4/interact/scripts.html#h-18.2.3). – crush
Cách tốt hơn là không chỉ kiểm tra các sự kiện cuộn mà còn cho hướng di chuyển như dưới đây;
$(window).bind('mousewheel', function(event) {
if (event.originalEvent.wheelDelta >= 0) {
console.log('Scroll up');
}
else {
console.log('Scroll down');
}
});
Đây phải là câu trả lời đúng. –
Nếu bạn không sử dụng con lăn chuột để cuộn hoặc bạn sử dụng thiết bị cảm ứng thì sao? – HyderA
@hydeA Các thiết bị khác nhau phản ứng khác nhau. Đối với điều này, bạn có thể phải sử dụng một plugin như hammerjs hoặc một cái gì đó tương tự. Nếu không tôi nghĩ rằng điều này đã được trả lời ở đây http://stackoverflow.com/questions/2863547/javascript-scroll-event-for-iphone-ipad –
Điều này phù hợp với tôi.
var previousPosition
$(window).scroll(function(){
var currentScrollPosition=$(window).scrollTop() + $(window).height()
if (currentScrollPosition>previousScrollPosition) {
console.log('down')
}else if(currentScrollPosition<previousScrollPosition){
console.log('up')
}
previousScrollPosition=currentScrollPosition
});
- 1. Chụp sự kiện bánh xe cuộn
- 2. Sự kiện cuộn jQuery
- 3. Sự kiện thanh cuộn khi cuộn?
- 4. Sự kiện cuộn của JScrollPane
- 5. Sự kiện cuộn nhanh hơn? - Nền "nhảy" sau khi cuộn
- 6. Ngăn scrollTop gọi sự kiện cuộn
- 7. Javascript: Chụp sự kiện bánh xe chuột và không cuộn trang?
- 8. Chụp sự kiện thoát ứng dụng - WinForms
- 9. Sự kiện đóng cửa sổ chụp
- 10. Chụp sự kiện khi đóng trình duyệt
- 11. Chụp các sự kiện KeyDown trong UserControl
- 12. firefox + jquery mousewheel cuộn sự kiện lỗi
- 13. Cuộn xuống cuối C# TextBox
- 14. Có sự kiện cuộn dọc trong jQuery
- 15. Thêm một sự kiện cuộn để DataGrid
- 16. Sự kiện cuộn cửa sổ JQuery?
- 17. Chụp nhanh cuộn dọc jQuery
- 18. Sự kiện cuộn Choppy/Laggy trên Chrome và IE
- 19. Sự kiện tùy chỉnh bong bóng xuống
- 20. Các sự kiện Jquery .bind được kích hoạt khi chụp sự kiện hoặc bong bóng sự kiện
- 21. overflow-x: hidden đang phá vỡ sự kiện cuộn jquery
- 22. RelativeLayout - Cuộn xuống
- 23. Cuộn NSTextView xuống dưới
- 24. Giữ cuộn xuống dưới
- 25. các sự kiện bàn phím chụp wxpython trong một wx.Frame
- 26. Các sự kiện của hộp kiểm Jquery Jstree chụp
- 27. chụp LinearLayout onClick sự kiện với ImageButton bên trong nó
- 28. Chụp sự kiện hủy trên kiểu đầu vào = tệp
- 29. Firing và chụp tùy chỉnh các sự kiện
- 30. Chụp sự kiện nhấp vào tab trong TabView Android
Tại sao không sử dụng 'window.addEventListener (" scroll ", function (e) {...});'? Vì có thêm 8 chữ cái? –
Bởi vì theo cách đó (mootools 'way) bạn hỗ trợ (ed) cũng IE <9 (attachEvent stuff) ... – stecb
Vì vậy, nó sửa đổi 'nguyên mẫu' của cửa sổ'? –