Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] Opóźnianie przechodzenia do nowej strony
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
dresik
Witam,
muszę coś takiego zrobić aby po kliknięciu na link w menu przejście do nowej strony odbyło się po określonym czasie np 1s.

Męczę się z tym od kilku dni ale nic nie mogę wymyśleć, proszę o jakieś wskazówki, porady itp.

Pozdrawiam
trucksweb
uzyj funkcji setTimeout()

http://w3schools.com/js/js_timing.asp

tak samo w jquery jak i js
dresik
testuje różne funkcje z tym setTimeout ale niestety nic mi nie wychodzi, mam coś takiego:

  1. <script type="text/javascript">
  2. function timedRedirect(redirectTo, timeoutPeriod) {
  3. setTimeout("location.href = redirectTo;",timeoutPeriod);
  4. }
  5.  
  6. <a href="" onclick="timedRedirect('test.php',500)">test</a>


na tym skrypcie stanąłem ponieważ wydaje mi się najlepszy, a mimo to nie działa. W czym jest błąd?
trucksweb
setTimeout przyjmuje jako pierwszy parametr nazwe funkcji do wykonania:


na kliknieciu wywolujesz funkcje z setTimeout a w setTimeout kolejna z przekierowaniem.
dresik
zrobiłem tak

  1. <script type="text/javascript">
  2. function timedRedirect(redirectTo) {
  3. location.href = redirectTo;
  4. }
  5.  
  6.  
  7. <a onclick="setTimeout(timedRedirect('test.php'),6000)">test</a>


i dalej to nie działa, od razu nowa strona się otwiera

wywaliłem jeszcze href="" - ponieważ z tym nie chciało w ogóle działać
mortus
Pierwszy kod, po małej edycji
  1. <script type="text/javascript">
  2. function timedRedirect(redirectTo, timeoutPeriod){
  3. setTimeout("location.href = '"+redirectTo+"';", timeoutPeriod);
  4. }
  5.  
  6. <a href="" onclick="timedRedirect('test.php', 3000); return false;">TEST</a>

EDIT:
Drugi też się da dostosować, wystarczy dopisać return false; podobnie jak tutaj.
dresik
Dzięki, wszystko ładnie działa smile.gif
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.