Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    ?Javascript: orologio dinamico?

    Scusate perchè questo funziona solo su IE ?
    codice:
    <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()
     if (minutes<=9)
     minutes='0'+minutes
     if (seconds<=9)
     seconds='0'+seconds
    
    myclock=hours+":"+minutes+":"+seconds
    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>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    i nuovi browser usano il DOM document.getElementById()

    aggiungi dopo
    else if (document.all)
    liveclock.innerHTML=myclock

    else document.getElementById('liveclock').innerHTML=myc lock

    ciao

  3. #3

    Hai provato....

    Funziona solo su MSIE perché sicuramente il contenitore in cui andrà a finire l'ora non è posizionato a livelli...Con MSIE funziona ma con NEtscape 4.x bisogna parlare dei livelli....

    codice:
    <html>
    <head>
    <title></title>
    
    <script language="javascript">
    <!--
    
    //breve script prima di andare a fare la nanna....
    function brow() {
    	return document.all?document.all["orologio"]:document.getElementById("orologio");
    };
    
    function orolo() {
    var data=new Date();
    var ora=data.getHours();
    var min=data.getMinutes();
    var sec=data.getSeconds();
    
    if(document.layers) {
    	document.orologio.document.write(ora+":"+min+":"+sec);
    	document.orologio.document.close();
    }
    else if(document.all||document.getElementById) {
    	brow().innerHTML=(ora+":"+min+":"+sec);
    }
    else {
     0;
    };
    window.setTimeout("orolo();",0);
    };
    //-->
    </script>
    
    
    </head>
    <body onload="orolo();">
    
    
    <div id="orologio" style="position:absolute; top:30px; left:50px;"></div>
    
    </body>
    </html>
    Buona Notte.-....

  4. #4
    Smack

    Scusate il disturbo avrei dovuto cercarmene uno già pronto tra gli script di html...

    ... è che volevo capire il perchè...

  5. #5
    Ugly ho aggiunto degli if al tuo codice per mostrare lo 0 quando ore minuti o secondi sono < 10.

    Qualcuno sa dirmi perchè cavolo IE gestisce O una gif animata O questo orologio?

    Mentre con altri browser si muovono tutti e 2 insieme?

    (guardate qui per capire cosa intendo)

    P.S. Si lo so che IE fa cagare... la domanda è se c'è una soluzione...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Potrebbe essere che hai usato varibili globali con lo stesso nome (tieni presente che IE in qualche caso e` non-case-sensitive, cioe` pippo e Pippo per lui sono la stessa variabile).

    Inoltre un setTimeout() con tempo = 0 non mi piace.
    Potrebbe impedire il funzionamento di altre cose nel browser o anche fuori dal browser.

    Puoi mettere un tempo di 1000, o, se la precisione e` fondamentale, puoi ridurre fino a 100; meno non ha senso.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Secondo me non è colpa dello script...

    Prova... (io uso IE 7) ad aprire una finestra tipo "proprieta" di internet explorer....

    ... parte la gif e si ferma l'orologio VVoVe:

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho IE - lavoro sotto linux.

    Potrebbe mancare un "return false;" da qualche parte ...
    pero` senza vedere lo script che usi al momento e` difficile capire.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9

    Re: Hai provato....

    Uso questo qua:
    codice:
    <html>
    <head>
    <title></title>
    
    <script language="javascript">
    <!--
    
    //breve script prima di andare a fare la nanna....
    function brow() {
    	return document.all?document.all["orologio"]:document.getElementById("orologio");
    };
    
    function orolo() {
    var data=new Date();
    var ora=data.getHours();
    var min=data.getMinutes();
    var sec=data.getSeconds();
    
    if(document.layers) {
    	document.orologio.document.write(ora+":"+min+":"+sec);
    	document.orologio.document.close();
    }
    else if(document.all||document.getElementById) {
    	brow().innerHTML=(ora+":"+min+":"+sec);
    }
    else {
     0;
    };
    window.setTimeout("orolo();",0);
    };
    //-->
    </script>
    
    
    </head>
    <body onload="orolo();">
    
    
    <div id="orologio" style="position:absolute; top:30px; left:50px;"></div>
    
    </body>
    </html>
    Fatto da Ugly

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ti ho gia` detto che un timeout immediato potrebbe dare problemi.

    Prova a modificare il tempo del timeout ed aggiungere return false;

    window.setTimeout("orolo();",100);
    return false;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.