Visualizzazione risultati 1 fino 5 di 5

Discussione: [JS] -Quale di questi scripts va meglio? [mod]

  1. #1
    Guest

    Predefinito [JS] -Quale di questi scripts va meglio? [mod]

    Codice HTML:
    <HTML>
    <HEAD>
    <TITLE>Ora,minuti,secondi </TITLE>
    
    
    
    </HEAD>
    
    <BODY bgcolor="white"  onLoad="show5()">
    
    
    
    <span id="liveclock" style="position:absolute;left:200;top:180;">
    </span>
    
    <script language="JavaScript">
    <!--
    
    function show5(){
     if (!document.layers&&!document.all)
     return
     var Digital=new Date()
     var hours=Digital.getHours()
     var minutes=Digital.getMinutes()
     var seconds=Digital.getSeconds()
     var dn="AM" 
     if (hours>24){
     dn="PM"
     hours=hours-24
     }
     if (hours==0)
     hours=12
     if (minutes<=9)
     minutes="0"+minutes
     if (seconds<=9)
     seconds="0"+seconds
    //change font size here to your desire
    myclock="<font size='5' face='Arial' ><b><font size='1'>Data corrente:</font></br>"+hours+":"+minutes+":"
     +seconds+" "+dn+"</b></font>"
    if (document.layers){
    document.layers.liveclock.document.write(myclock)
    document.layers.liveclock.document.close()
    }
    else if (document.all)
    liveclock.innerHTML=myclock
    setTimeout("show5()",1000)
     }
    
    </script>
    
    
    
    </body>
    </html>
    Codice HTML:
    <HTML>
    <HEAD>
    
    <TITLE>prova2 </TITLE>
    
          <STYLE TYPE="text/css">
             #clock {color:blue; font-size:120%} /* Format the clock. */
          </STYLE>
          <SCRIPT LANGUAGE="JavaScript">
             // Check whether IE4 or later.
             var MS = navigator.appVersion.indexOf("MSIE");
             window.isIE4 = (MS > 0) &&
                (parseInt(navigator.appVersion.substring(MS + 5, MS + 6)) 
                   >= 4);
    
             function lead0(val) {
                // Add leading 0s when necessary.
                return (val < 10) ? "0" + val.toString() : val;
             }
    
             function buildTime() {
                var time = new Date();
                var ampm = "AM";
                var h = time.getHours();
                // Fix military time and determine ampm.
                if (h > 24) {
                   h = h - 24;
                   ampm = " PM";
                }
                return lead0(h) + ":" + lead0(time.getMinutes()) + ":" +
                   lead0(time.getSeconds()) + ampm;
             }
    
             function tick() {
                // Replace the clock's time with the current time.
                document.all.clock.innerText = buildTime();
             }
          </SCRIPT>
    
    </HEAD>
    
    <BODY bgcolor="white"  ONUNLOAD="if (null != window.tmr) clearInterval(window.tmr);" ONLOAD="if (window.isIE4) window.tmr = setInterval('tick()', 999);">
    
    
          <P>Sono le:
          <SPAN ID="clock">
             <SCRIPT LANGUAGE="JavaScript">
                // Down-level script support --
                // output an initial static time.
                document.write(buildTime());
             </SCRIPT>
          </SPAN>
    </body>
    </html>

    Codice HTML:
    <HTML>
    <HEAD>
    
    <TITLE>prova 3  </TITLE>
    
    
    
    </HEAD>
    
    <BODY bgcolor="white"  onLoad="show5()">
    
    
    
    <span id="liveclock" style="position:absolute;left:150;top:150;">
    </span>
    
    <script language="JavaScript">
    <!--
    
    function show5(){
     if (!document.layers&&!document.all)
     return
     var Digital=new Date()
     var hours=Digital.getHours()
     var minutes=Digital.getMinutes()
     var seconds=Digital.getSeconds()
     var dn="AM" 
     if (hours>24){
     dn="PM"
     hours=hours-24
     }
     if (hours==0)
     hours=12
     if (minutes<=9)
     minutes="0"+minutes
     if (seconds<=9)
     seconds="0"+seconds
    //change font size here to your desire
    myclock="<font size='5' face='Arial' ><b><font size='1'>Ora corrente:</font></br>"+hours+":"+minutes+":"
     +seconds+" "+dn+"</b></font>"
    if (document.layers){
    document.layers.liveclock.document.write(myclock)
    document.layers.liveclock.document.close()
    }
    else if (document.all)
    liveclock.innerHTML=myclock
    setTimeout("show5()",1000)
     }
    
    </script>
    
    
    </body>
    </html>
    allora entrambi i 3 script dovrebbero essere compatibili con mie e forse ne voi quale mi consigiliate? cioe non ke sapreste uno compatibile con tutti i broswer?

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Allora... per prima cosa tutti e tre gli script contengono un errore (ma li hai scritti tu o li hai copiati da qualche parte?). Ti riporto quello della prima versione:
    Codice:
    var dn="AM" 
     if (hours>24){
     dn="PM"
     hours=hours-24
     }
    dovrebbe essere invece
    Codice:
    var dn="AM" 
     // il mezzogiorno è considerato PM, la mezzanotte AM, per questo ci va l'uguale!
     if (hours>=12){
     dn="PM"
     hours=hours-12
     }
    Per quanto riguarda la compatibilità dei browser, è probabile che la magagna sia dove si trovi quel document.all.nome_elemento.innerHTML, supportato appunto solo da Internet Explorer. Ti consiglierei quindi di aggiungere un paio di funzioni al tuo script (le avevo già messe da qualche parte qui sul forum, ma le ricopio perché non le ho trovate in un contesto da solo...):
    Codice:
    function getHTML (id)
    {
       var element = document.getElementById (id)
       if (!element) return null
       if (element.firstChild)
          return element.firstChild.nodeValue
       else
          return element.innerHTML
    }
    
    function setHTML (id, value)
    {
       var element = document.getElementById (id)
       if (element)
       {
          if (element.firstChild)
             element.firstChild.nodeValue = value
          else
             element.innerHTML = value
       }
    }
    e sostituire questa riga con una chiamata alla funzione setHTML ("nome_elemento", testo).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Codice:
    <HTML>
    <HEAD>
    <TITLE>Demo Dynamic HTML: esempio pratico </TITLE>
    
    
    
    </HEAD>
    
    <BODY bgcolor="white"  onLoad="show5()">
    
    
    
    <span id="liveclock" style="position:absolute;left:200;top:180;">
    </span>
    
    <script language="JavaScript">
    <!--
    
    function show5(){
     if (!document.layers&&!document.all)
     return
     var Digital=new Date()
     var hours=Digital.getHours()
     var minutes=Digital.getMinutes()
     var seconds=Digital.getSeconds()
     var dn="AM" 
     if (hours=24){
     dn="PM"
     hours=hours-24
     }
     if (hours==0)
     hours=12
     if (minutes<=9)
     minutes="0"+minutes
     if (seconds<=9)
     seconds="0"+seconds
    //change font size here to your desire
    myclock="<font size='5' face='Arial' ><b><font size='1'>Data corrente:</font></br>"+hours+":"+minutes+":"
     +seconds+" "+dn+"</b></font>"
    if (document.layers){
    document.layers.liveclock.document.write(myclock)
    document.layers.liveclock.document.close()
    }
    else if (document.all)
    liveclock.innerHTML=myclock
    setTimeout("show5()",1000)
     }
    function getHTML (id)
    {
       var element = document.getElementById (id)
       if (!element) return null
       if (element.firstChild)
          return element.firstChild.nodeValue
       else
          return element.innerHTML
    }
    
    function setHTML (id, value)
    {
       var element = document.getElementById (id)
       if (element)
       {
          if (element.firstChild)
             element.firstChild.nodeValue = value
          else
             element.innerHTML = value
       }
    }
    //-->
    </script>
    
    
    
    </body>
    </html>
    allora li scirpt non so dover lui presi lo modificatr poi cmq perke non se po mettere 24?comq il codice messo come tu lo fatto va bene?
    Ultima modifica di ang : 07-02-2006 alle ore 13.49.06

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Il fatto che non puoi mettere 24 è perché se lasci così il codice arrivi a vedere che adesso (le cinque del pomeriggio) scriverebbe che sono le 17.00 AM: è più corretto 5.00 PM non trovi?

    Quanto alla sostituzione, ti sei limitato ad aggiungere le funzioni che ti ho dato e non a chiamarle. Devi perciò sostituire questo (è verso la fine della funzione show5):
    Codice:
    if (document.layers){
    document.layers.liveclock.document.write(myclock)
    document.layers.liveclock.document.close()
    }
    else if (document.all)
    liveclock.innerHTML=myclock
    con questo:
    Codice:
    setHTML ("liveclock", myclock)
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito

    demensial se veid in fatti a me dice pm enon am nonostante a posto di 12 ci sia 24...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •