Element: scroll-Ereignis
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Das scroll
-Ereignis wird ausgelöst, wenn ein Element gescrollt wurde.
Um zu erkennen, wann das Scrollen abgeschlossen ist, siehe das scrollend
-Ereignis von Element
.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignisbehandlereigenschaft.
addEventListener("scroll", (event) => { })
onscroll = (event) => { }
Ereignistyp
Ein generisches Event
.
Beispiele
Die folgenden Beispiele zeigen, wie das scroll
-Ereignis mit einem Ereignis-Listener und mit der onscroll
-Ereignisbehandlereigenschaft verwendet wird.
Die Methode setTimeout()
wird verwendet, um die Ereignisbehandlung zu drosseln, da scroll
-Ereignisse mit hoher Frequenz ausgelöst werden können.
Für zusätzliche Beispiele, die requestAnimationFrame()
verwenden, siehe die Document
scroll
-Ereignisseite.
Verwendung von scroll
mit einem Ereignis-Listener
Das folgende Beispiel zeigt, wie das scroll
-Ereignis verwendet wird, um zu erkennen, wann ein Benutzer innerhalb eines Elements scrollt:
<div id="scroll-box">
<p>Scroll me!</p>
</div>
<p id="output">Waiting on scroll events...</p>
#scroll-box {
overflow: scroll;
height: 100px;
width: 100px;
float: left;
}
#scroll-box p {
height: 200px;
width: 200px;
}
#output {
text-align: center;
}
const element = document.querySelector("div#scroll-box");
const output = document.querySelector("p#output");
element.addEventListener("scroll", (event) => {
output.textContent = "Scroll event fired!";
setTimeout(() => {
output.textContent = "Waiting on scroll events...";
}, 1000);
});
Verwendung der onscroll
-Ereignisbehandlereigenschaft
Das folgende Beispiel zeigt, wie die onscroll
-Ereignisbehandlereigenschaft verwendet wird, um zu erkennen, wann ein Benutzer scrollt:
<div id="scroll-box">
<p>Scroll me!</p>
</div>
<p id="output">Waiting on scroll events...</p>
#scroll-box {
overflow: scroll;
height: 100px;
width: 100px;
float: left;
}
#scroll-box p {
height: 200px;
width: 200px;
}
#output {
text-align: center;
}
const element = document.querySelector("div#scroll-box");
const output = document.querySelector("p#output");
element.onscroll = (event) => {
output.textContent = "Element scroll event fired!";
setTimeout(() => {
output.textContent = "Waiting on scroll events...";
}, 1000);
};
Spezifikationen
Specification |
---|
CSSOM View Module> # eventdef-document-scroll> |
HTML> # handler-onscroll> |
Browser-Kompatibilität
Loading…