Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dziwny problem z dynamicznym elementem w JS
Forum PHP.pl > Forum > Po stronie przeglądarki
blackstone

Stworzyłem zegar w JavaScript który pokazuje sekundy. Zegar ten działa na bazie dynamicznego kreowania elementu. Nietypowy problem polega na tym ze zegar nie chce mi prawidłowo wyświetlać się jeżeli nie określę w js tła jaki ma mieć element. Przykładowo jeżeli określę dla elementu zz ( nazwa kreowanego elementu) jakiekolwiek tło ( czyli " zz.style.backgroundColor = 'blue' ; " ) to zegar prawidłowo się odświeża i co sekundę zobaczymy nową liczbę sekund. Ale jeżeli tą jedną linijkę usunę z kodu to skrypt zamiast odświeżać co sekundę zawartość elementu jakby nakłada nową liczbę na starą ( i w podglądzie źródła strony wygląda na to że zamiast odświeżania element jest ponownie tworzony co sekundę ( i oczywiście stary nie jest likwidowany ) . Po paru sekundach takiego działania nie widać liczby bo wszystkie są na siebie nałożone. Chciałbym zrobić ten element bez określania tła i tutaj pytanie czy wie ktoś co zrobić smile.gif Z góry dzięki za odpowiedzi smile.gif

Tutaj kod

  1. function zegar()
  2. {
  3. var Alles = document.querySelector("body") ;
  4. var zz = document.createElement('div') ;
  5. zz.style.position = 'absolute' ;
  6. zz.style.top = '3cm' ;
  7. zz.style.right = '6cm' ;
  8. zz.style.backgroundColor = 'blue' ; // ten element
  9. zz.style.color = 'white' ;
  10.  
  11.  
  12.  
  13. var data = new Date();
  14. var day = data.getDate();
  15. if(day<10)
  16. {
  17. day = "0" + data.getDate();
  18. }
  19. var Monat = data.getMonth() ;
  20. if(Monat<10)
  21. {
  22. Monat = "0" + data.getMonth();
  23. }
  24. var rok = data.getFullYear() ;
  25.  
  26. var minute = data.getMinutes() ;
  27. var godz = data.getHours() ;
  28.  
  29. var sk = data.getSeconds() ;
  30.  
  31. var days = day + " . " + Monat + " . " + rok ;
  32. var Zeit = godz + " : " + minute + " : " + sk ;
  33. var Alle = Zeit + " ///" + days
  34.  
  35. zz.textContent = Alle ;
  36. Alles.appendChild(zz) ;
  37.  
  38. setTimeout("zegar()",1000) ;
  39.  
  40.  
  41. }
trueblue
W obydwu przypadkach tworzysz nowy element z informacją o czasie.
Kiedy nie ma tła po prostu poprzedni element prześwituje.
blackstone
achh...okiwałem samego siebie smile.gif . Niepotrzebnie komplikowałem skoro można użyć document.write(). Dzięki 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.