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

    firefox e jQuery non vede l'ID

    Salve a tutti,

    qualcuno è a conoscenza di qualche tipo di incompatibilità con questo tipo di sintassi tra firefox e jQuery?


    codice:
    function attiva(id) {if ($(id).css("display")== "none")
                                       {$(".z").fadeOut(800);$(id).fadeIn(800);}
                                 else {$(".z").fadeOut(800);} 
                                    }
    nella pagina con questo comando attivo il popup:

    codice:
    Copyright
    <div id="popup" class="z"></div>
    il problema è che firefox non vede l'ID e non c'è verso di farlo funzionare, mentre IE, Safari e Chrome non fanno una piega.
    Sono alle prime armi quindi magari sbaglio qualcosa di fondamentale, ma fin'ora funzionava tutto!!!

    Per la precisione devo dire che in IE non funziona il fadeIn e fadeOut, appare ma in maniera repentina e non graduale (ma almeno appare).

    qualcono è in grado di aiutarmi?

    Sergio

  2. #2
    ci sono un po' di errori

    codice:
    Copyright
    <div id="popup" class="z"></div>
    nota gli apici dentro la chiamata della funzione attiva().

    poi:

    codice:
    function attiva(id) {
       if ($('#' + id).css("display")== "none") { // <- nota '#' +
          $(".z").fadeOut(800);
          $('#' + id).fadeIn(800); 
       } else {
          $(".z").fadeOut(800);
       }
    }

  3. #3


    carlogh grazie millissime!!!!
    Tu lo troverai banale, ma io ci ho perso 2 giorni per cercare di ragionare sul perché non funzionasse!!!

    Capisco la logica dell'errore, capisco meno perché gli altri browser interpretassero correttamente il comando.
    Trovo molto fuorviante che esistano queste diverse interpretazioni, anche se capisco che la tua sintassi sia più corretta.
    Credevo veramente che jQuery fosse pienamente crossbrowser (illuso ).
    Se poi le cose funzionano al 95% ti illudi che anche il resto vada.

    A questo punto mi vien da chiederti se sai perché il "fadeIn" ed il "fadeOut" IE (io ho la 8.0) non lo interpretino correttamente, niente fade e dopo una frazione di secondo appaiono (stile display:block) o scompaiono

    Ho cercato in rete ma le soluzioni proposte non funzionano, od almeno io non sono stato in grado di farla funzionare (implementazione di un customFadeOut) oppure disabilitare "filter" al riconoscimento del browser.

    In ogni caso ti sono infinitamente grato per l'aiuto

    Sergio

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.