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

    function Ok per Firefoz Ko per IE

    Salve a tutti

    Premesso che sono alle prima armi con JavaScript mi trovo di fronte a questo problema: ho scritto questa piccola funzione che in Firefox funziona mentre in IE funziona parzialmente, nel senso che non "ripristina" il colore di background salvato oppure non salva correttamente il colore di background ; sapete dirmi come mai e come deve essere modificata per farla funzionare anche in IE ? in pratica quando passo sopra con il mouse la riga deve diventare gialla e quando esco deve tornare come era prima; con IE mi torna sempre trasparente anche se prima il background era diverso da trasparente. Ecco la funzione:


    function reverse(t, ty)
    {

    // Z = ripristina il backgr salvato onMouseOut
    if (ty == 'Z') {
    t.style.background=defcol;

    }
    // R = salva il background e colora di giallo onMouseOver
    if (ty == 'R') {
    saved=new Object();
    saved.element=t;
    saved.className=t.className;
    saved.backgroundColor=t.style["backgroundColor"];
    defcol = saved.backgroundColor;

    t.style.background='Yellow';
    }

    }

    Grazie in anticipo

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    <tr onmouseover="this.style.backgroundColor='Yellow';" onmouseout="this.style.backgroundColor='coloreorig inale';"><td>ciao mondo</td></tr>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Per una cosa del genere userei semplicemente una regola CSS.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Premesso che anch'io mi appoggerei sul CSS...

    Anche se formalmente corretto, è possibile che il conflitto stia qui:

    codice:
    function reverse(t, ty)
    {
    
    // Z = ripristina il backgr salvato onMouseOut
    if (ty == 'Z') {
    t.style.backgroundColor=defcol;
    
    }

  5. #5
    Grazie

    il problema è che non salva il backGround o meglio saved.backgroundColor non contiene niente e quindi quando ripristina il background precedente, ripristina "trasparent". Quindi sembra che
    saved=new Object();
    saved.element=t;
    saved.className=t.className;
    saved.backgroundColor=t.style["backgroundColor"];

    non funzioni con IE !!

    altri suggerimenti ??

    grazie

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    // R = salva il background e colora di giallo onMouseOver
    if (ty == 'R') {
    defcol = t.style.backgroundColor;
    saved=new Object();
    saved.element=t;
    saved.className=t.className;
    saved.backgroundColor=defcol;
    
    t.style.backgroundColor='Yellow';
    }

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    - Ma tu cosa devi fare?
    - La mia soluzione l'hai provata?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.