Autor | Zpráva | ||
---|---|---|---|
Aaron135 Profil |
#1 · Zasláno: 19. 8. 2011, 16:48:59
Ahojte,
nyní můj problém spočívá v tom, že když se realoadne stránka tak se div, který má scrolling naskroluje opět nahoru. Jak zajistit, aby po reloadu opět naskroloval na stejné místo, kde byl naskrolován? Předem dík Aaron135 |
||
Časová prodleva: 3 dny
|
|||
peta Profil |
#2 · Zasláno: 22. 8. 2011, 14:26:40
Ulozit jeho pozici do cookies?
|
||
Časová prodleva: 7 dní
|
|||
Aaron135 Profil |
#3 · Zasláno: 29. 8. 2011, 14:33:20
A ta pozice se uloží jak?? Neznám totiž proměnou pro uložení...
|
||
Witiko Profil |
#4 · Zasláno: 29. 8. 2011, 17:09:48 · Upravil/a: Witiko
Aaron135:
Tohle uložíš: document.body.scrollTop || document.documentElement.scrollTop
Takto načteš: scrollTo(0, uloženáHodnota)
|
||
Aaron135 Profil |
#5 · Zasláno: 29. 8. 2011, 18:35:29
Mohl by si mi doložit celý kód s uložením i vytažením těch cookies prosím ?
|
||
Witiko Profil |
#6 · Zasláno: 29. 8. 2011, 19:57:16 · Upravil/a: Witiko
Uložení:
document.cookie = "odscrollovano=" + (document.body.scrollTop || document.documentElement.scrollTop); Načtení: var sušenka = document.cookie.match(/odscrollovano=(\d+)/); if(sušenka) scrollTo(0, sušenka[1]); Neozkoušeno, ale mělo by šlapat. Sušenka nemá definovanou expiraci, tzn. umře po ukončení současné relace. Pokud to není žádoucí, je možné k ukládané sušence ještě přilepit ";expires=" + new Date(-> doba expirace <-).toUTCString() .
|
||
Aaron135 Profil |
#7 · Zasláno: 29. 8. 2011, 20:35:50
Nevím proč, ale tento kód nefunguje.
<div id="str" onscroll="save();" style="overflow:auto;height:100px;" class="demo"><h1>blablabla</h1><br><br><br><br><br><p>Ahoj</p></div> <script> var susenka = document.cookie.match(/odscrollovano=(\d+)/); if(susenka) scrollTo(susenka[1]); function save(){ document.cookie = "odscrollovano="+document.getElementById('str'); } </script> |
||
Witiko Profil |
#8 · Zasláno: 29. 8. 2011, 21:09:04 · Upravil/a: Witiko
Aaron135:
„ document.cookie = "odscrollovano=" + document.getElementById('str'); “
Tohle je blábol, připojuješ k řetězci element. Výsledkem bude něco takovéhleho: document.cookie = "odscrollovano=[object HTMLDivElement]" document.cookie = "odscrollovano=" + document.getElementById('str').scrollTop; Stejně tak funkce scrollTo(x, y) je dostupná pouze pro celé okno, pokud chceš scrollovat jen cílený element, pouze mu změníš vlastnost scrollTop . To znamená: Místo scrollTo(0, susenka[1]); půjde document.getElementById('str').scrollTop = susenka[1];
Celý kód pak: var susenka = document.cookie.match(/odscrollovano=(\d+)/), element = document.getElementById('str'); if(susenka) element.scrollTop = susenka[1]; function save(){ document.cookie = "odscrollovano=" + element.scrollTop; } |
||
Časová prodleva: 13 let
|
0