Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] problem z innerHTML
Forum PHP.pl > Forum > Po stronie przeglądarki
robal94
Hej!
Napisałem cały skrypt rotatora obrazków, ale mam problem, bo źródło zmienia się(sprawdzałem w konsoli google chrome)ale obrazki nie pokazują się. Dopiero na końcu, komenda
  1. document.getElementById('rzutnik').innerHTML=text;

wyświetla wszystkie obrazki. Znacie powód tego błędu? Proszę o pomoc. oto kod wszystkich potrzebnych funkcji:

  1. function losuj(max){
  2. wynik=~~(Math.random() * (max));
  3.  
  4. return (wynik);
  5. }
  6.  
  7. function sleep(milliseconds) {
  8. var start = new Date().getTime();
  9. for (var i = 0; i < 1e7; i++) {
  10. if ((new Date().getTime() - start) > milliseconds){
  11. break;
  12. }
  13. }
  14. }
  15. function losowy(){
  16. text="";
  17. timee=(document.forms['a'].elements['timee'].value)*1000;
  18. do_ilu=(document.forms['a'].elements['do_ilu'].value);
  19. licz = 0;
  20. while(licz < do_ilu){
  21. los=losuj(100);
  22. document.getElementById('rzutnik').innerHTML=text;'<img src="cyfry/'+los+'.jpg">';
  23. text = text + '<br><img src="cyfry/'+los+'.jpg" width="100px;">';
  24. licz = licz+1;
  25. sleep(timee);
  26. }
  27. document.getElementById('rzutnik').innerHTML=text;
  28.  
  29. }
kamil4u
Na 99% źle robisz, że operujesz tutaj na innerHTML-u. Poczytaj o metodach DOM. Nie chcę mi się analizować Twojego kodu, ale jak chcesz poznać moją opinię na temat tego jak ten kod powinien wyglądać stwórz odpowiedni opis problemu.


22. linia:
Cytat
document.getElementById('rzutnik').innerHTML=text;'<img src="cyfry/'+los+'.jpg">';
Nie brakuje jakiegoś + czy coś? wink.gif
wNogachSpisz
innerHTML jest spoko, dobrze zoptymalizowany, Używaj go gdzie tylko się da smile.gif
kamil4u
Z tym innerHTML to jest różnie. W zależności od sytuacji bym zastosował raz to, a raz to. Tu byłym bardziej skłonny do metod DOM-owskich.

Sam kiedyś zastanawiałem się nad tym problemem i wywiązała się krótka, aczkolwiek pouczająca dyskusja: http://forum.webhelp.pl/javascript/shoutbo...51.html#p883487

Cytat
Używaj go gdzie tylko się da smile.gif

Dlatego to zdanie nie jest prawdą smile.gif
wNogachSpisz
Cytat(kamil4u @ 13.02.2012, 12:43:22 ) *
Dlatego to zdanie nie jest prawdą smile.gif

A to dlaczego?
kamil4u
Przeczytaj link, który podałem to się dowiesz
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.