Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wait_tylko_raz
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Vieckov2
Cześć Wszystkim !

Mam pewien problem z funkcją w JavaScript. Od razu zaznaczam, że to jedna z pierwszych napisanych przeze mnie funkcji w JS więc z góry przepraszam za głupie pytania.
Kod wygląda następujaco:

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. function myFunction() {
  3. history.go(0);
  4. }
  5.  
  6.  
  7. function scrollpage() {
  8.  
  9. function f() {
  10. window.scrollTo(0, i);
  11.  
  12. if (status == 0) {
  13. i = i + 0.3;
  14. if (i >= 3 * Height) {
  15. status = 1;
  16. }
  17. }
  18. setTimeout(f, 1);
  19. }
  20. f();
  21. }
  22.  
  23. var Height = document.documentElement.scrollHeight;
  24. var i = 1,
  25. j = Height,
  26. status = 0;
  27.  
  28.  
  29. window.setInterval(function () {scrollpage()}, 5000);
  30. window.setInterval(function () {myFunction()}, 15000);
  31.  
[JAVASCRIPT] pobierz, plaintext


Problem w tym, że za pierwszym razem, kiedy wpisuje url strony, strona czeka 5 sekund zgodnie z setInterval, potem automatycznie zjeżdża na dół strony, i po 15 sekundach jest refresh i strona znów zaczyna od początku ale już bez czekania 5 sekund. Czyli ten sleep działa tylko raz. Próbowałem wsadzać sleepy w różnych miejscach ale bez rezultatu. Czy ktoś mógłby powiedzieć co robię źle ?
phpion
O ile dobrze zrozumiałem to problemem może być cofanie się w historii. Spróbuj w myFunction zamiast tego przeładować stronę.
Vieckov2
Dziękuję za odpowiedź. Próbowałem również z reload. Niestety bez zmian.
phpion
Kwestia chyba w tym, że przeglądarka sama ustawia Ci się w miejscu, w którym była przed chwilą. Więc to nie tyle wina skryptu co samej przeglądarki. Możesz spróbować jeszcze przekierować użytkownika na tą samą stronę, ale dodając do adresu jakieś zmienne. Np. raz byłby to adres http://strona.pl/?t=123, a przy przeładowaniu http://strona.pl/?t=abc, przy następnym http://strona.pl/?t=XYZ. Jako parametr t możesz podstawić bieżący znacznik czasu lub losowy ciąg znaków.
Vieckov2
Masz na myśli coś w tym stylu ?

function myFunction() {
<a href= http://www...& + timestamp>
}
phpion
Mniej więcej tak wink.gif
[JAVASCRIPT] pobierz, plaintext
  1. document.location.href = 'http://strona.pl/?t=' + Math.random();
[JAVASCRIPT] pobierz, plaintext
Vieckov2
Pomogło dodanie true do location.reload. Dla tych, którzy mają ten sam problem:

location.reload(true)

Dziękuję bardzo za pomoc. Temat zamknięty.
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.