Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Przebudowa skryptu w JS
Forum PHP.pl > Forum > Przedszkole
karolusgt
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 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 rolleyes.gif
maviozo
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>
zamper
w skrypcie JS napisz:
  1. window.onload = start;

i powinno działać 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.