Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Zmiana tekstu za pomocą setTimeOut()
Forum PHP.pl > Forum > Przedszkole
thomson89
Witam!

Robiąc sobie jakiś tam tekst do zmiany, po upływie zadanego przez php czasu w JS za pomocą funkcji natrafiłem na problem. Tekst się nie zmienia. Wydawało mi sie że to wina PHP, więc dałem to do osobnej strony i testuję. Też nie działa. Dla porównania, zeby sprawdzić czy wszystko robię dobrze, zmieniam src obrazka. Ponizej kod:

  1. <head>
  2. <script type="text/javascript">
  3. window.onload = inicjuj;
  4. function inicjuj()
  5. {
  6. document.getElementById("obrazek").src = "wyglad/ladowanie.gif";
  7. setTimeout('zmienObraz()', 1000);
  8. setTimeout('zmienTekst()', 1000);
  9. }
  10. function zmienObraz()
  11. {
  12. document.getElementById("obrazek").src = "wyglad/obrazek.jpg";
  13. }
  14. function zmienTekst()
  15. {
  16. document.getElementById("tekst").innerHtml = "Hello world";
  17. }
  18.  
  19. </script>
  20. <title>Zmiana nazw obrazków.</title>
  21. </head>
  22. <body>
  23. <center><img id="obrazek" src="wyglad/ladowanie.gif" />
  24. <div id="tekst">a</div>
  25.  
  26. </body>
  27. </html>

Dlaczego ten tekst się nie zmienia?
skowron-line
A co pokazuje konsola blędów questionmark.gif
thomson89
Kod
Inline script compilation
Syntax error while loading: line 2 of inline script at [url="http://localhost/obrazki_rozmiary/test.html"]http://localhost/obrazki_rozmiary/test.html[/url] :
Expected token: '}'
).innerHtml = "Nazwę zmieniono z 1 na obraz1.jpg"


i co powiecie?
mls
Cytat(thomson89 @ 26.09.2009, 18:45:06 ) *
i co powiecie?


Ja powiem tyle, że z całym szacunkiem, nie myślisz. Błąd jaki Ci zwraca nie ma nic do kodu który wkleiłeś.
thomson89
Mój błąd. Konsola nic nie zwraca. Przepraszam! Ale co to zmienia? Dlaczego skrypt nie działa?
#luq
Pierwszym parametrem powinien być wskaźnik na funkcję albo string z instrukcjami do wykonania.
Imho bardziej elegancki jest wskaźnik, lub od razu funkcja wpisana inline (ofc. gdy jest krótka i nie ma kilku jej wywołań).

W JS`ie wielkość znaków ma znaczenie. innerHtml != innerHTML.

Kod
                        document.getElementById("obrazek").src = "1.png";
            setTimeout(
                function(){
                    document.getElementById("obrazek").src = "2.png";
                },
                1000
            );
            setTimeout(
                function(){
                    document.getElementById("tekst").innerHTML = "Hello world";
                },
                1000
            );

thomson89
Dziękuję! Po zmianie na HTML wszystko działa.
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.