Run script bij zowel het laden van de pagina maar ook bij resize en scroll
Beste leden,
Ik ben bezig om een script te maken met javascript maar wil dit ook maken voor de toekomst.
Op de pagina waar ik dit op wil laten uitvoeren geef wil ik simpelweg de functie aanroepen met als parameter waar het om gaat.
Deze functie wil ik aanroepen bij het laden van de pagina, het scrollen en eventueel het resizen.
Dat de functie dit bij die 3 dingen doen wil ik inbouwen in de code.
Op welke manier zouden jullie dit maken, zodat ik niet de events steeds opnieuw hoef aan te roepen op de pagina's zelf zoals:
Ik ben bezig om een script te maken met javascript maar wil dit ook maken voor de toekomst.
Op de pagina waar ik dit op wil laten uitvoeren geef wil ik simpelweg de functie aanroepen met als parameter waar het om gaat.
Deze functie wil ik aanroepen bij het laden van de pagina, het scrollen en eventueel het resizen.
Dat de functie dit bij die 3 dingen doen wil ik inbouwen in de code.
Op welke manier zouden jullie dit maken, zodat ik niet de events steeds opnieuw hoef aan te roepen op de pagina's zelf zoals:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
window.addEventListener("scroll", function(){
// function
});
window.addEventListener("onload", function(){
// function
});
window.addEventListener("resize", function(){
// function
});
// function
});
window.addEventListener("onload", function(){
// function
});
window.addEventListener("resize", function(){
// function
});
Gewijzigd op 26/10/2020 18:52:17 door Loek Lemmens
Ik zou het met behulp van jQuery doen, maar dat is een persoonlijke keuze.
In platte javascript zul je inderdaad met addEventListener moeten werken, ik denk dat jouw voorbeeldje qua opzet redelijk klopt.
De event namen kloppen niet, welke beschikbaar zijn voor het Window object vind je hier: https://developer.mozilla.org/nl/docs/Web/API/Window.
Je gaat uitkomen op de Window.onscroll, Window.onresize en Document.onload (of Document.onloadend) events.
In platte javascript zul je inderdaad met addEventListener moeten werken, ik denk dat jouw voorbeeldje qua opzet redelijk klopt.
De event namen kloppen niet, welke beschikbaar zijn voor het Window object vind je hier: https://developer.mozilla.org/nl/docs/Web/API/Window.
Je gaat uitkomen op de Window.onscroll, Window.onresize en Document.onload (of Document.onloadend) events.
@Loek zou je uit kunnen leggen wat je probeert te bereiken? Dan is het namelijk ook makkelijker om te bepalen of de ingeslagen weg / de gekozen aanpak zich het beste leent voor hetgeen je probeert te doen.
Alles monitoren en daar op acteren via JavaScript hoeft niet per definitie de (enige) oplossing te zijn. Mogelijk zijn er ook alternatieven in CSS (media queries en andere stijlregels) die het gewenste gedrag goed genoeg (of zelfs beter) benaderen.
Teveel JavaScript of een verkeerde toepassing hiervan kan de boel enorm vertragen wat natuurlijk niet echt een fantastische gebruikerservaring oplevert.
Alles monitoren en daar op acteren via JavaScript hoeft niet per definitie de (enige) oplossing te zijn. Mogelijk zijn er ook alternatieven in CSS (media queries en andere stijlregels) die het gewenste gedrag goed genoeg (of zelfs beter) benaderen.
Teveel JavaScript of een verkeerde toepassing hiervan kan de boel enorm vertragen wat natuurlijk niet echt een fantastische gebruikerservaring oplevert.