onscroll 事件
实例
例子 1
在滚动 <div> 元素时执行 JavaScript:
<div onscroll="myFunction()">
例子 2
在不同滚动位置的类名之间切换 - 当用户从页面顶部向下滚动 50 像素时,类名 "test" 将被添加到元素中(再次向上滚动时将被删除)。
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
document.getElementById("myP").className = "test";
} else {
document.getElementById("myP").className = "";
}
}
例子 3
当用户从页面顶部向下滚动 350 像素时滑入元素(添加 slideUp 类):
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 350 || document.documentElement.scrollTop > 350) {
document.getElementById("myImg").className = "slideUp";
}
}
语法
在 HTML 中:
<element onscroll="myScript">
在 JavaScript 中:
object.onscroll = function(){myScript};
在 JavaScript 中,使用 addEventListener() 方法:
object.addEventListener("scroll", myScript);
注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法。
技术细节
| 冒泡: | 不支持 |
|---|---|
| 可取消: | 不支持 |
| 事件类型: | 如果从用户界面生成,UiEvent。否则 Event。 |
| 支持的 HTML 标签: | <address>, <blockquote>, <body>, <caption>, <center>, <dd>, <dir>, <div>, <dl>, <dt>, <fieldset>, <form>, <h1> to <h6>, <html>, <li>, <menu>, <object>, <ol>, <p>, <pre>, <select>, <tbody>, <textarea>, <tfoot>, <thead>, <ul> |
| DOM 版本: | Level 2 Events |
浏览器支持
| 事件 | Chrome | IE | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| onscroll | 支持 | 支持 | 支持 | 支持 | 支持 |