Script erst starten wenn es auf dem Browser erscheint,
Fritzi
- javascript
- jquery
Hallo in die Runde, Ich möchte auf meiner Webseite einen Zähler countown einführen. Diesen läuft unter Javascript und jquery.
Im Augenblick startet er sofort, wenn die Seite geladen wird, auch wenn er erst beim Scrollen erschein. Habe ich die Möglichkeit diesen erst zu starten, wenn man ihn sieht.
Also wenn man hinunter gescrollt hat?
Fritzi
Hallo Fritzi,
http://jsfiddle.net/moagrius/wN7ah/
Bis demnächst
Matthias
@@Matthias Apsel
Frei nach Bruce Springsteen:
jQuery is for hangers
Winners use the Intersection Observer
LLAP 🖖
Hallo Gunnar Bittersmann,
Winners use the Intersection Observer
Bis demnächst
Matthias
Hallo Matthias,
mir als Großfirmengeschädigtem (IE11 forever) nicht grün genug. Unser Win10 Arbeitsplatz wird mit Glück nächstes Jahr ausgerollt und hat dann hoffentlich eine chromglänzende Ecke dran.
Aber ich würde die Finger von Scroll-Event und Observern lassen. Einfach den Timer loslaufen lassen, und bei jedem Timer-Tick (der vermutlich 1x pro Sekunde kommt) prüfen, ob der Zähler sichtbar ist. Das geht über Rechteck-Abfragen. Sobald er einmal sichtbar geworden ist, wird ein Flag gesetzt und der Countdown geht ohne weitere Abfragen los.
Rolf
Hallo Matthias Apsel,
Hallo Fritzi,
Ergänzung:
Du wirst wahrscheinlich auf das Scroll-Event lauschen wollen. Das ist jedoch recht "teuer". Deshalb solltest du den entsprechenden Eventhandler entfernen, wenn das Element das erste Mal zu sehen war.
Bis demnächst
Matthias
@@Matthias Apsel
Du wirst wahrscheinlich auf das Scroll-Event lauschen wollen. Das ist jedoch recht "teuer". Deshalb solltest du den entsprechenden Eventhandler entfernen, wenn das Element das erste Mal zu sehen war.
Und bis dahin: debounce. Falls man denn wirklich mal aufs scroll
-Event lauschen möchte.
LLAP 🖖