Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wait_tylko_raz
Vieckov2
post 7.01.2015, 11:20:29
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.01.2015

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował Vieckov2 7.01.2015, 11:21:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
phpion
post 7.01.2015, 11:28:06
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




O ile dobrze zrozumiałem to problemem może być cofanie się w historii. Spróbuj w myFunction zamiast tego przeładować stronę.
Go to the top of the page
+Quote Post
Vieckov2
post 7.01.2015, 11:32:48
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.01.2015

Ostrzeżenie: (0%)
-----


Dziękuję za odpowiedź. Próbowałem również z reload. Niestety bez zmian.
Go to the top of the page
+Quote Post
phpion
post 7.01.2015, 11:35:51
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post
Vieckov2
post 7.01.2015, 11:41:22
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.01.2015

Ostrzeżenie: (0%)
-----


Masz na myśli coś w tym stylu ?

function myFunction() {
<a href= http://www...& + timestamp>
}

Ten post edytował Vieckov2 7.01.2015, 11:41:51
Go to the top of the page
+Quote Post
phpion
post 7.01.2015, 11:44:31
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Mniej więcej tak wink.gif
[JAVASCRIPT] pobierz, plaintext
  1. document.location.href = 'http://strona.pl/?t=' + Math.random();
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
Vieckov2
post 7.01.2015, 11:45:29
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.01.2015

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:54