Evento onscroll
Definição e uso
O evento onscroll ocorre quando a barra de rolagem do elemento é rolada.
Dica:Use CSS overflow A propriedade de estilo cria uma barra de rolagem para o elemento.
Exemplo
Exemplo 1
Executar JavaScript ao rolar o elemento <div>:
<div onscroll="myFunction()">
Exemplo 2
Alternar entre nomes de classes em diferentes posições de rolagem - Quando o usuário rola 50 pixels da parte superior para baixo da página, o nome da classe "test" será adicionado ao elemento (será removido novamente ao rolar para cima).
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 = ""; } }
Exemplo 3
Quando o usuário rolar 350 pixels para baixo da parte superior da página, insira o elemento (adicionar classe slideUp):
window.onscroll = function() {myFunction()}; function myFunction() { if (document.body.scrollTop > 350 || document.documentElement.scrollTop > 350) { document.getElementById("myImg").className = "slideUp"; } }
Sintaxe
No HTML:
<element onscroll="myScript">
No JavaScript:
object.onscroll = function(){myScript};
No JavaScript, use o método addEventListener():
object.addEventListener("scroll", myScript);
Notas:Internet Explorer 8 ou versões anteriores não suportam Método addEventListener()。
Detalhes técnicos
Bubbling: | Não suportado |
---|---|
Cancelável: | Não suportado |
Tipo de evento: | Se gerado pela interface do usuárioUiEvent。Caso contrário Evento。 |
Suportadas etiquetas 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> |
Versão DOM: | Eventos Level 2 |
Suporte do navegador
Evento | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
onscroll | Suporte | Suporte | Suporte | Suporte | Suporte |