Tässä alla on vierityksen Y-position tulostus console ikkunaan, mutta kuinka tunnistan että vieritystä ei voi pidemmälle jatkaa, onko jotain muuttujaa johon tuota scrollY arvoa verraten tunnistaisi sivun lopun saavutetuksi.
window.addEventListener('scroll', function(e) {
console.log(window.scrollY);
});
JavaScript ja sivun vieritys
10
136
Vastaukset
- Anonyymi
Skrollattavan elementin korkeus on: document.documentElement.scrollHeight
Ja ikkunan näkyvän osan korkeus: window.innerHeight
Noiden avulla saat varmaan laskettua.- Anonyymi
Miten tuo pitäisi laskea, ( window.scrollY ) on paljon pienempi arvo kuin ( document.documentElement.scrollHeight )
- Anonyymi
1370 = document.documentElement.scrollHeight
468 = window.scrollY - Anonyymi
Anonyymi kirjoitti:
Miten tuo pitäisi laskea, ( window.scrollY ) on paljon pienempi arvo kuin ( document.documentElement.scrollHeight )
Kun window.innerHeight window.scrollY on melkein tai tasan document.documentElement.scrollHeight ollaan alalaidassa.
Logita konsoliin ja vierittele edestakaisin, niin ymmärrät varmaan logiikan.
console.log(document.documentElement.scrollHeight,window.innerHeight,window.scrollY); - Anonyymi
Anonyymi kirjoitti:
Kun window.innerHeight window.scrollY on melkein tai tasan document.documentElement.scrollHeight ollaan alalaidassa.
Logita konsoliin ja vierittele edestakaisin, niin ymmärrät varmaan logiikan.
console.log(document.documentElement.scrollHeight,window.innerHeight,window.scrollY);Kumpa ne ei mene lähellekkään tasan kuten edellä jo kerroin, eli silloin kun ollaan sivun alalaidassa on arvot nämä:
1370 = document.documentElement.scrollHeight
468 = window.scrollY - Anonyymi
Anonyymi kirjoitti:
Kun window.innerHeight window.scrollY on melkein tai tasan document.documentElement.scrollHeight ollaan alalaidassa.
Logita konsoliin ja vierittele edestakaisin, niin ymmärrät varmaan logiikan.
console.log(document.documentElement.scrollHeight,window.innerHeight,window.scrollY);Ja tämä antamasi arvojen tulostus palauttaa arvot
console.log(document.documentElement.scrollHeight,window.innerHeight,window.scrollY);
2196 = document.documentElement.scrollHeight
902 = window.innerHeight
1274 = window.scrollY - Anonyymi
Anonyymi kirjoitti:
Kumpa ne ei mene lähellekkään tasan kuten edellä jo kerroin, eli silloin kun ollaan sivun alalaidassa on arvot nämä:
1370 = document.documentElement.scrollHeight
468 = window.scrollYTestasin lokituksella (keskimmäinen luku siis summa)
console.log(document.documentElement.scrollHeight,window.innerHeight window.scrollY,window.scrollY);
Skrollatessa ylhäältä alas:
123 95 1
123 97 3
123 98 4
123 102 8
123 106 12
123 109 15
123 111 17
123 116 22
123 118 24
123 119 25
123 121 27
123 122 28
123 123 29
Eli toimii kuten aiemmin kerroin. - Anonyymi
Anonyymi kirjoitti:
Testasin lokituksella (keskimmäinen luku siis summa)
console.log(document.documentElement.scrollHeight,window.innerHeight window.scrollY,window.scrollY);
Skrollatessa ylhäältä alas:
123 95 1
123 97 3
123 98 4
123 102 8
123 106 12
123 109 15
123 111 17
123 116 22
123 118 24
123 119 25
123 121 27
123 122 28
123 123 29
Eli toimii kuten aiemmin kerroin.Eikun just niin, hyvä, toimiihan tuo, jäi tuo PLUS merkki pois välistä.
- Anonyymi
Anonyymi kirjoitti:
Eikun just niin, hyvä, toimiihan tuo, jäi tuo PLUS merkki pois välistä.
Hyvä, KIITOS
- Anonyymi
Anonyymi kirjoitti:
Ja tämä antamasi arvojen tulostus palauttaa arvot
console.log(document.documentElement.scrollHeight,window.innerHeight,window.scrollY);
2196 = document.documentElement.scrollHeight
902 = window.innerHeight
1274 = window.scrollYJos tuossa oli skrollattu alalaitaan, niin summa on silloin 2176, eli melkein tuo elementin korkeus. Se ei välttämätä aina skrollaudu ihan pikselilleen riippuen mistä roikkuu, joten pitää verrata vaikka 0,99x:ään korkeudesta.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225234- 254398
- 282541
- 342264
- 372008
- 151928
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194