Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS][jQuery] Problem setTimeout, [SOLVED]
angel2953
post
Post #1





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

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


mam sobie takie kodzik, który korzysta z jQuery 1.2.1:
  1. jQuery(document).ready(function() {
  2. var clock_fcj = function() {
  3. var _curDate = new Date();
  4. var _nextHour = _curDate.getHours() + 1;
  5. var _nowMinutes = 60 - _curDate.getMinutes();
  6. var _nowSeconds = 60 - _curDate.getSeconds();
  7.  
  8. _nowMinutes = ( _nowMinutes < 10 ) ? _nowMinutes = "0" + _nowMinutes : _nowMinutes;
  9. _nowSeconds = ( _nowSeconds < 10 ) ? _nowSeconds = "0" + _nowSeconds : _nowSeconds;
  10. jQuery("#clock").replaceWith( "reset apache'a " + _nowMinutes + ":" + _nowSeconds );
  11. setTimeout( "clock_fcj", 1000 );
  12. }
  13. clock_fcj();
  14. });

i on powinien wyświetlać odliczający "zegarek" w divie i częściowo to działa bo po załadowaniu strony pokazuje ilość minut:sekund ale po przejściu pierwszej pętli setTimeout w FireBug'u znajduje taki komunikat:
Cytat("FireBug")
clock_fcj is not defined
setTimeout( "clock_fcj", 1000 );

czy ktoś może mi powiedzieć co ja robię źle ?

Ten post edytował angel2953 23.10.2007, 14:18:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




definicja funkcji clock_fcj() powinna byc w header a nie w ready jquery. W ready jquery powinno byc tylko wywolanie.
Go to the top of the page
+Quote Post
angel2953
post
Post #3





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

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


teraz mam tak:
  1. var clock_fcj = function() {
  2. var _curDate = new Date();
  3. var _nextHour = _curDate.getHours() + 1;
  4. var _nowMinutes = 60 - _curDate.getMinutes();
  5. var _nowSeconds = 60 - _curDate.getSeconds();
  6.  
  7. _nowMinutes = ( _nowMinutes < 10 ) ? _nowMinutes = "0" + _nowMinutes : _nowMinutes;
  8. _nowSeconds = ( _nowSeconds < 10 ) ? _nowSeconds = "0" + _nowSeconds : _nowSeconds;
  9. jQuery("#clock").replaceWith( "reset apache'a " + _nowMinutes + ":" + _nowSeconds );
  10. setTimeout( "clock_fcj", 1000 );
  11. }
  12. jQuery(document).ready(function() {
  13. clock_fcj();
  14. });

komunikat zniknął ale czas nie jest odliczany :/
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: setTimeout( "clock_fcj", 1000 );
a: setTimeout( "clock_fcj()", 1000 );
Go to the top of the page
+Quote Post
angel2953
post
Post #5





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

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


lipa nadal nic albo ja już nie widzę błędów. plik jest tutaj

Ten post edytował angel2953 23.10.2007, 12:59:04
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wywal to wszystko z head do body co ci kazalem i powinno smigac (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
gekon
post
Post #7





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


@nospor: Nie trzeba nic wywalać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
@angel2953: Z tego co sie orientuję, to jQuery nie ma takiej metody jak replaceWith(), zamiast nie użyj metody text():
  1. jQuery("#clock").text( "reset apache'a " + _nowMinutes + ":" + _nowSeconds );
Go to the top of the page
+Quote Post
angel2953
post
Post #8





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

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


Cytat(gekon @ 23.10.2007, 15:13:08 ) *
@nospor: Nie trzeba nic wywalać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
@angel2953: Z tego co sie orientuję, to jQuery nie ma takiej metody jak replaceWith(), zamiast nie użyj metody text():
  1. jQuery("#clock").text( "reset apache'a " + _nowMinutes + ":" + _nowSeconds );

text podziałało,dzięki :]

a metoda replaceWith istnieje ale teraz dokopałem sie do API i okazało się, że służy ona do zupełnie czegoś innego :/

dzięki zapomoc :]
Go to the top of the page
+Quote Post
gekon
post
Post #9





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

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


O rzeczywiście - człowiek uczy się całe życie. Z replaceWith() też by się dało: replaceWith("<div id="clock">...</idv>");
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 22:34