Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    5

    JS ok su Sarari e IE ma non su FF e Opera?

    ciao a tutti,
    quello che mi sebra strano è che vada su safari e ie, browser che tra di loro non hanno mai dimostrato
    di funzionare analogamente ma non su opera e ff.
    probabilmente c'è qualcosa fuori standard nella compilazione. è un js per cambiare lo sfondo della pagina gradualmente quando si carica. è messo subito dopo head, l'ultimo colore nell'elenco rappresenta il colore finale della pagina (nero). grazie a tutti!

    codice:
    <script language="JavaScript">
    <!--
    var backColor = new Array(); // don't change this
    
    var dwellTime = 3000; 
    
    backColor[0]  = '#FFFFFF';
    backColor[1]  = '#EEEEEE';
    backColor[2]  = '#DDDDDD';
    backColor[3]  = '#CCCCCC';
    backColor[4]  = '#BBBBBB';
    backColor[5]  = '#AAAAAA';
    backColor[6]  = '#999999';
    backColor[7]  = '#888888';
    backColor[8]  = '#777777';
    backColor[9]  = '#666666';
    backColor[10]  = '#555555';
    backColor[11]  = '#444444';
    backColor[12]  = '#333333';
    backColor[13]  = '#222222';
    backColor[14]  = '#111111';
    backColor[15]  = '#000000';
    
    function flashBG(whichColor){
    document.bgColor = backColor[whichColor];
    }
    
    var t = null;
    var d = dwellTime;
    
    t = setTimeout('flashBG(0)',(d));
    t = setTimeout('flashBG(1)',(d));
    t = setTimeout('flashBG(2)',(d));
    t = setTimeout('flashBG(3)',(d));
    t = setTimeout('flashBG(4)',(d));
    t = setTimeout('flashBG(5)',(d));
    t = setTimeout('flashBG(6)',(d));
    t = setTimeout('flashBG(7)',(d));
    t = setTimeout('flashBG(8)',(d));
    t = setTimeout('flashBG(9)',(d));
    t = setTimeout('flashBG(10)',(d));
    t = setTimeout('flashBG(11)',(d));
    t = setTimeout('flashBG(12)',(d));
    t = setTimeout('flashBG(13)',(d));
    t = setTimeout('flashBG(14)',(d));
    t = setTimeout('flashBG(15)',(d));
    
    t =  null;
    
    //-->
    </script>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    5
    dimenticavo: la consolle errori di FF e Opera non dicono nulla al riguardo di questo JS...

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    bgcolor e' deprecato, prova settando il backgroundColor del body

    document.body.style.backgroundColor = backColor[whichColor];

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    5
    uhm, nulla lo stesso.
    è come se ignorasse gli step intermedi e passa da bianco a nero di colpo con un delay di 3' dal caricamento
    della pagina anzichè fare un passaggio graduale...

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sinceramente non mi meraviglia piu' di tanto
    un setTimeout non manda in "sleep" lo script, qui abbiamo istruzioni che si susseguono runtime
    e resta al browser decidere come tenere loro testa
    puo' tranquillamente decidere di semplificare mostrando il risultato finale, dopo un' unica temporizzazione di 3000 millisec

    puoi fare una cosa del genere
    codice:
    var dwellTime = 3000;
    var backColor = new Array(); // don't change this
    
    
    backColor[0]  = '#FaFaFa';
    backColor[1]  = '#EEEEEE';
    backColor[2]  = '#DDDDDD';
    backColor[3]  = '#CCCCCC';
    backColor[4]  = '#BBBBBB';
    backColor[5]  = '#AAAAAA';
    backColor[6]  = '#999999';
    backColor[7]  = '#888888';
    backColor[8]  = '#777777';
    backColor[9]  = '#666666';
    backColor[10]  = '#555555';
    backColor[11]  = '#444444';
    backColor[12]  = '#333333';
    backColor[13]  = '#222222';
    backColor[14]  = '#111111';
    backColor[15]  = '#000000';
    
    function flashBG(whichColor){
    	document.body.style.backgroundColor = backColor[whichColor];
    	var nextStep=((whichColor++)>15)?false:whichColor;
    	if(nextStep) setTimeout('flashBG('+nextStep+')',100);
    }
    
    var t = setTimeout('flashBG(0)',dwellTime);
    e a perderci un po' di tempo fare molto di meglio,
    comunque e' il minimo per farlo funzionare

    ciao

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.