Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przewijanie strony do określonego położenia po przeładowaniu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
lorak110786
Mam następujący problem. Jest sobie strona jakiegoś produktu. Na górze jest jego opis a na dole zakładki (komentarze, zamienniki itp). Zakładki nie są zmieniane metodą hide/show tylko przeładowywana jest cała strona. Problem jest taki, że jak zjadę trochę w dół i chcę przełączyć się na drugą zakładkę, to strona jest przeładowywana i wraca na samą górę. Czy zna ktoś jakiś mechanizm/wtyczkę/cokolwiek, który pozwoli po .ready() przeskoczyć do żądanej wysokości strony? Jak to realizować?

Od razu podpowiem, że nie chodzi mi o plugin jQuery.scrollTo a bardziej o mechanizm, jak przekazać informację o bieżącym przesunięciu strony przed przeładowaniem.
thek
Może chodzi Ci o kotwicę zwykłą?
lorak110786
Nie.

Temat jest taki:
Użytkownik wchodzi na stronę, przewija ją trochę w dół, powiedzmy o 400px. Później klika na inną zakładkę (będąc w tym samym produkcie). Po bożemu zmiana zakładek działałaby tak, że pole zakładki zostaje wyczyszczone, ajaxem załadowałyby się dane i wpisały w pole. Zrobione jest natomiast tak, że strona się przeładowuje. Po przeładowaniu użytkownik znów wraca na samą górę, a chciałbym, aby automatycznie przeskoczył na wysokość na której się znajdował, czyli do 400px.

Gdzieś musiałbym zapisać jak bardzo przesunięta w dół jest strona, aby móc przeskoczyć do tego miejsca po przeładowaniu strony. Chodzi mi o coś na wzór $_SESSION dla javascript.
thek
Ale z tego co kojarzę, można zrobić odnośnik do kotwicy i to działa...
Link w stylu
  1. <a href="http://www.domena.pl/strona.php#kotwica">Do zakładki</a>
powinien działać
lorak110786
Już napisałem, że nie chcę przechodzić do kotwicy, tylko dokładnie do przesunięcia w którym był użytkownik przed przeładowaniem strony.
vokiel
No to w momencie, gdy użytkownik klika w link, zapisujesz do ciastka/sesji o ile strona jest przesunięta, a po załadowaniu strony sprawdzasz czy jest w ciastku/sesji taka wartość - jeśli jest to przesuwasz stronę do niej i ją usuwasz, jeśli nie ma to nic nie robisz wink.gif
erix
Cytat
tylko dokładnie do przesunięcia w którym był użytkownik przed przeładowaniem strony.

Ja to widzę tak - korzystasz z sessionStorage i jakiejś funkcji odpalanej co kilkaset ms i sprawdzasz offset. Albo jeszcze lepiej - przy zdarzeniu onscroll. Potem, przy onload ustawiasz offset przewinięcia.

Prościej się nie da. [;
lorak110786
Cytat(erix @ 28.06.2011, 19:21:53 ) *
Ja to widzę tak - korzystasz z sessionStorage i jakiejś funkcji odpalanej co kilkaset ms i sprawdzasz offset. Albo jeszcze lepiej - przy zdarzeniu onscroll. Potem, przy onload ustawiasz offset przewinięcia.

Prościej się nie da. [;



sessionStorage - dokładnie o to mi chodziło. Zaproponowane przez Ciebie rozwiązanie jak najbardziej mnie urządza:) Dziękuje za podpowiedź. Pozdrawiam:)
vokiel
Przy SessionStorage i LocalStorage trzeba jeszcze zwracać uwagę na kompatybilność przeglądarek. O ile dobrze kojarzę to DOM Storage jest wspierane w FF3.5+, Chrome4+, Safari4+, Opera10.5+, or IE8+
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.