Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Problem z wyświetlaniem zegara
Forum PHP.pl > Forum > Przedszkole
The Night Shadow
Poniżej znajduje się zawartość pliku zegar.js, który jest pobierany w pliku index.php skryptem:

  1.    <script type="text/javascript" src="java/zegar.js">
  2.    </script>


Do pliku index.php w zależności od wybranej w menu opcji includowany jest plik ze skryptami (tu plik.php). W pli plik.php znajduje się zmienna, do której dołączany jest element, w którym powinna wyświetlać się data:

  1. <?php
  2. $pw .= '<p><span id="Data" name="Data" style="position:absolute;left:0;top:0;"></span></p>';
  3. ?>


W momencie kiedy skrypt bez żadnych zmian znajduje się w jednym pliku.html wszystko jest wyświetlane poprawnie. Natomiast kiedy zrobiłem tak jak to opisałem data nie jest wyświetlana. Gdzie popełniam błąd?

  1. function czas() {
  2. if (!document.layers&&!document.all)
  3. return
  4.  
  5.  var godzina, minuty, sekundy, dzien, licz_dzien, miesiac, dzisiaj, rok, tekst_miesiac, tekst_dzien;
  6.  dzisiaj = new Date();
  7.  godzina=dzisiaj.getHours();
  8.  minuty=dzisiaj.getMinutes();
  9.  sekundy=dzisiaj.getSeconds();
  10.  rok=dzisiaj.getYear();
  11.  dzien=dzisiaj.getDate();
  12.  licz_dzien=dzisiaj.getDay();
  13.  if (licz_dzien==0) {tekst_dzien="Niedziela"}
  14.  if (licz_dzien==1) {tekst_dzien="Poniedziałek"}
  15.  if (licz_dzien==2) {tekst_dzien="Wtorek"}
  16.  if (licz_dzien==3) {tekst_dzien="Środa"}
  17.  if (licz_dzien==4) {tekst_dzien="Czwartek"}
  18.  if (licz_dzien==5) {tekst_dzien="Piątek"}
  19.  if (licz_dzien==6) {tekst_dzien="Sobota"}
  20.  miesiac=dzisiaj.getMonth()+1;
  21.  if (miesiac==1) {tekst_miesiac="stycznia"}
  22.  if (miesiac==2) {tekst_miesiac="lutego"}
  23.  if (miesiac==3) {tekst_miesiac="marca"}
  24.  if (miesiac==4) {tekst_miesiac="kwietnia"}
  25.  if (miesiac==5) {tekst_miesiac="maja"}
  26.  if (miesiac==6) {tekst_miesiac="czerwca"}
  27.  if (miesiac==7) {tekst_miesiac="lipca"}
  28.  if (miesiac==8) {tekst_miesiac="sierpnia"}
  29.  if (miesiac==9) {tekst_miesiac="września"}
  30.  if (miesiac==10) {tekst_miesiac="października"}
  31.  if (miesiac==11) {tekst_miesiac="listopada"}
  32.  if (miesiac==12) {tekst_miesiac="grudnia"}
  33.         if ((rok>=00) && (rok<=1900)) {rok=1900+rok;}
  34.         if (miesiac < 10) {miesiac="0"+miesiac;}
  35.       if (dzien < 10) {dzien="0"+dzien;}
  36.       if (godzina < 10) {godzina="0"+godzina;}
  37.         if (minuty < 10) {minuty="0"+minuty;}
  38.       if (sekundy < 10) {sekundy="0"+sekundy;}
  39.  pelnyczas=tekst_dzien + ", " + dzien + " " + tekst_miesiac + " "+rok+" "
  40.        + godzina+":"+minuty+":"+sekundy;
  41.  
  42.  
  43. if (document.layers){
  44. document.layers.Data.document.write(pelnyczas)
  45. document.layers.Data.document.close()
  46. }
  47. else if (document.all)
  48. Data.innerHTML=pelnyczas
  49. setTimeout("czas()",500)
  50. }
Zepco
A gdzie masz pierwsze wywołanie funkcji czas() ?
Bo z tego co widzę, to tylko to robisz wewnątrz jej same. Najlepiej daj ją w body na onLoad.
Poza tym dobrze by było jakbyś jako parametr tej funkcji podawał obiekt 'document', żeby nie było problemów z jego odnalezieniem.
The Night Shadow
Jak pisałem plik.php jest includowany do index.php

Parametr:

onload="czas()"

Umieściłem przy body w pliku index.php. Mimo to, nic się nie pokazywało. Próbowałem to samo zrobić w sekcji body pliku plik.php i nadal nic...

onload="czas('document')" zrobiłem również tak i nadal nic... Co robić?
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.