Kezdőoldal » Számítástechnika » Weblapkészítés » Több Section-om van, teljes...

Több Section-om van, teljes képernyő méretűek. Azt szeretném, hogy amikor valaki görget az oldalon, akkor 1 másodperc "tétlenség" után automatikusan a közelebb lévő divre görgessen?

Figyelt kérdés

Így néz ki a HTML:

<section id="elso"></section>

<section id="masodik"></section>

<section id="harmadik"></section>


Mindegyik teljes magasságú, tehát 100vh-re vannak állítva.

Amikor görgetsz, nem biztos, hogy sikerül pontosan rá görgetni az adott section-re, hogy teljes méretben láthasd. Azt szeretném megoldani, hogy amikor görgetsz, és esetleg nem vagy teljes egészében rajta a sectionon, akkor oda görgessen az oldal.

JavaScripttel hogy lehet ezt megoldani?


2020. márc. 16. 08:17
 1/1 anonim ***** válasza:

Le kell kérned a DOM objektum elhelyezkedését az oldalon. Erre rengeteg féle javaslat van, soknak környezettől függően buktatójuk is, meg kell találnod a számodra működőt, de ez kutató munka. Ha jól rémlik, a getBoundingClientRect valami olyasmit művel.


Ez után az oldalt kell a lekért pozícióba "scroll-oznod". window.scrollTo segít.


Az egy másodperces tétlenséget már körülményesebb, mivel eseményekre tudsz feliratkozni, míg a semmire nem. Javaslom, az összes interakcióhoz köss egy callback függvényt (kattintás, görgetés, stb), ami előfordulhat, és ebben egy időzítőt állítasz az utolsó cselekedetre. A háttérben egy időzítő pedig folyamatosan ellenőrzi, hogy az aktuális idő és az utolsó cselekedet között eltelt idő megvan-e már egy másodperc.

2020. márc. 16. 13:00
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!