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

    setInterval per impostare style.color alternativamente in FireFox 3.011

    Buongiorno a tutti.

    Sono giorni che mi chiedo perchè questo script gira solo con IE e non con FireFox. Fate attenzione, perche' ho speso tutto ieri per girare sul web e sembra che non ci siano tracce di questo problema. Mi sono letto con umilta' infinita tutte le informazioni sul sito degli sviluppatori FireFox ed ancoa nessuna traccia. MA NON GIRA!! Prima lo script:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Link menu</title>
    <Script language="Javascript">

    function Toggle()
    {
    A_Ref=eval(document.body.getElementsByTagName('A')[0]);
    //if (A_Ref.style.color=='rgb(0,0,120)')
    if (A_Ref.style.color.indexOf('rgb(0,0,120)')>=0)
    A_Ref.style.color='rgb(128,0,0)';
    else
    A_Ref.style.color='rgb(0,0,120)';
    //alert("|"+Tipo1+"|"+Elemento1+"|"+typeof(document. body.getElementsByTagName('A')[0].style.color)+"|"+document.body.getElementsByTagNa me('A')[0].style.color+"|");
    }
    </Script>
    </head>

    <body bgcolor=black onload="setInterval(function(){Toggle();},1000);">

    <a id="HOSTS" href="#">
    HOSTS
    </a>



    <a id="SALTARE" href="#">
    SALTARE QUESTO <script>document.writeln("LINK ("+Date()+")");</script>
    </a>



    <a id="SERVICES" href="#">
    SERVICES
    </a>

    </body>
    </html>

    COMMENTI:
    La 'Toggle()' viene eseguita correttamente alla prima chiamata ed il colore del link modificato
    A questo punto i miei controlli indicano che non è più in grado di eseguire la if !!
    Sebbene la proprietà 'style.color' valga effettivamente "rgb(0,0,120)" e sia di tipo 'string' confrontandola con la stringa 'rgb(0,0,120)' non la ritiene uguale ad essa.

    Vi prego, sto impazzendo, PERCHE'?

  2. #2
    Lo so non si fa' così, ma dopo un'altra giornata di studi e tentativi dovevo consegnare.

    Visto che sul campo 'style.color' la funzione 'toogle()' non è in grado di fare il confronto, ho pensato 5 minuti fa':

    "E perche' non faccio il controllo su una qualsiasi altra variabile booelana che aggiorno contestualmente?"

    Ci ho appena provato e funziona!


    Quindi, a meno che la boiata che ho fatto nel codice su esposto non sia così semplice per voi che siete in grado di rispondere di primo acchito, grazie di cuore. Io sono sempre interessato a capire perchè

    Vi giuro che non mi aspettavo che si concludesse così.


  3. #3
    Vorrei aggiunger un ultima cosa, perchè forse da domani sarei difficile da reperire.

    FireFox 3.011 non consente di tenere vivi contemporaneamente più di un setInterval() per volta, per cui se avete più di un link da far lampeggiare come è capitato a me, vi consiglio di farli lampeggiare tutti insieme. La 'setInterval()' chiamerà cioè la funzione unica di lampeggiamento di tutti i link!

    Uomo avvisato mezzo salvato.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.