Na rolovánà stránky nebo elementu nám umožÅuje reagovat událost scroll. Můžeme s nà provádÄt nÄkteré opravdu pÄkné vÄci.
NapÅÃklad:
- Zobrazit nebo skrýt dalšà ovládacà prvky nebo informace podle toho, kde v dokumentu se uživatel nacházÃ.
- NaÄÃst dalšà data, když uživatel doroluje na konec stránky.
NásledujÃcà malá funkce zobrazuje aktuálnà délku rolovánÃ:
window.addEventListener('scroll', function() {
document.getElementById('ukažRolovánÃ').innerHTML = window.pageYOffset + 'px';
});
V akci:
Aktuálnà rolovánà = rolovánà okna
Událost scroll funguje dobÅe na window i na rolovatelných elementech.
Zákaz rolovánÃ
Jak zakážeme, aby nÄco mohlo být rolováno?
Nemůžeme zakázat rolovánà volánÃm událost.preventDefault() v posluchaÄi onscroll, protože ten se spustà až poté, co k rolovánà skuteÄnÄ dojde.
Můžeme vÅ¡ak zakázat rolovánà volánÃm událost.preventDefault() na události, která rolovánà způsobila, napÅÃklad na události keydown pro pageUp a pageDown.
Jestliže pÅidáme handler k tÄmto událostem a v nÄm zavoláme událost.preventDefault(), rolovánà se nespustÃ.
Způsobů, jak vyvolat rolovánÃ, je mnoho, proto je spolehlivÄjšà použÃt vlastnost overflow v CSS.
Následuje nÄkolik úloh, které můžete vyÅeÅ¡it nebo se na nÄ podÃvat, abyste vidÄli, jak se onscroll aplikuje.
KomentáÅe
<code>, pro nÄkolik Åádků je obalte znaÄkou<pre>, pro vÃce než 10 Åádků vložte odkaz na pÃskoviÅ¡tÄ (plnkr, jsbin, codepenâ¦)