![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 24.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie.
Natrafiłem na problem, którego chyba sam nie przeskoczę, ponieważ nie znam się na JS. Chodzi o poniższy skrypt zegara: Skrypt wygląda następująco: w <head>: Kod <script type="text/javascript"> //<![CDATA[ cyfra=new Array() for(i=0;i<11;i++){ cyfra[i]=new Image() cyfra[i].src="cyfry/"+i+".gif"} function Zegar(){ function Segm(e1,e2,l,z){ z=z?0:10 var i=l<10?z:Math.floor(l/10);e1.src=cyfra[i].src i=l<10?l:l%10;e2.src=cyfra[i].src} var T=new Date() var g=T.getHours(),m=T.getMinutes(),s=T.getSeconds() var i=document.images Segm(i.G1,i.G2,g,0);Segm(i.M1,i.M2,m,1);Segm(i.S1,i.S2,s,1) } function Dzisiaj(d){ var T=new Date() var M=T.getMonth(),D=T.getDate(),R=T.getYear(),wDay=T.getDay() if(!document.all)R+=1900 if(d)return D+" "+Mies[M]+", "+R+" r." return Dzien[wDay] } function Start(){Zegar();setInterval("Zegar()",1000)}; // ]]> </script> Wywołanie skryptu: Kod <body OnLoad="Start()"> i wyświetlenie: Kod div id="zegar"> <img src="" alt="" name="G1" /> <img src="" alt="" name="G2" /> <img src="cyfry/dwukropek.gif" height="21" width="9" alt="" /> <img src="" alt="" name="M1" /> <img src="" alt="" name="M2" /> <img src="cyfry/dwukropek.gif" height="21" width="9" alt=""/> <img src="" alt="" name="S1" /> <img src="" alt="" name="S2" /> </div><!--zegar--> I teraz problem (IMG:style_emoticons/default/sciana.gif) > Otóż skrypt sam w sobie działa, natomiast walidator czepia się do wywołania funkcji w <body... > pisząc, że ten znacznik nie posiada takiego atrybutu jak OnLoad="Start()". I teraz moje pytanie. czy da się tak przebudować ten skrypt aby wywołanie znalazło się w innym miejscu (najlepiej w samym skrypcie, a nie w kodzie xhtml)? Jeśli chodzi o kod to jest to XHTML 1.0 Transitional kodowany w utf-8 choć to pewnie nie jest istotne w tym przypadku. Z góry dziękuje mądrzejszej osobie ode mnie za pomoc (IMG:style_emoticons/default/rolleyes.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
1) Może wystarczy napisać onload z małych liter.
lub, jeśli to nie pomoże: 2) zamień Kod function Start(){Zegar();setInterval("Zegar()",1000)}; na Kod Zegar();setInterval("Zegar()",1000); albo ostatecznie: 3) na końcu strony dodaj: Kod <script type="text/javascript">
Zegar();setInterval("Zegar()",1000); </script> Ten post edytował maviozo 22.11.2010, 22:37:34 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 04:39 |