Domanda

Sto avendo un problema con gtetting fadeIn ed effetto fadeOut di jQuery per funzionare correttamente in IE (6 + 7 + 8). Lo script funziona bene in FF e Safari (dissolvenza bene), ma in IE mostra solo / pelli -. Alcun effetto di dissolvenza a tutti

Tutte le idee?

$(".myclass ul li:eq(" + $(this).attr("href") + ")").fadeIn(5000); 

L'attributo href che si sta facendo è semplicemente in possesso di un valore numerico che rappresenta la posizione nella lunghezza ul li.

È stato utile?

Soluzione

Ho avuto lo stesso problema e ho usato il codice qui sotto (dal link postato da Q8-coder sopra). Funziona bene ma ho ancora avuto alcuni problemi. Ho notato che l'utilizzo di fadeTo su un elemento contenitore che aveva i bambini con il posizionamento relativo o assoluto non ha funzionato in IE8. Il genitore sarebbe svanito, ma tutti gli elementi per bambini con il posizionamento positivo o relativa rimarrebbe in vista. L'unico modo per aggirare l'ostacolo è stato quello di selezionare l'elemento contenitore e tutti i suoi bambini che utilizzano jQuery e quindi applicare fadeTo tutti loro.

jQuery.fn.fadeIn = function(speed, callback) { 
    return this.animate({opacity: 'show'}, speed, function() { 
        if (jQuery.browser.msie)  
            this.style.removeAttribute('filter');  
        if (jQuery.isFunction(callback)) 
            callback();  
    }); 
}; 

jQuery.fn.fadeOut = function(speed, callback) { 
    return this.animate({opacity: 'hide'}, speed, function() { 
        if (jQuery.browser.msie)  
            this.style.removeAttribute('filter');  
        if (jQuery.isFunction(callback)) 
            callback();  
    }); 
}; 

jQuery.fn.fadeTo = function(speed,to,callback) { 
    return this.animate({opacity: to}, speed, function() { 
        if (to == 1 && jQuery.browser.msie)  
            this.style.removeAttribute('filter');  
        if (jQuery.isFunction(callback)) 
            callback();  
    }); 
}; 

Altri suggerimenti

Per quanto mi riguarda, utilizzando fadeIn() funzionava bene, il mio <div> sarebbe ben fade-in su IE9, poi (una volta che la dissolvenza è stata completata) sarebbe disapper di nuovo. Ah.

La correzione è stato quello di aggiungere il valore css filter illustrato di seguito:

$("#fadeMeIn").fadeIn("slow");
$("#fadeMeIn").css('filter', 'none');

Prova questo:

$(".myclass ul li:eq(" + $(this).attr("href") + ")").hide().fadeIn(5000);

Ho avuto un problema simile con uno script in IE8. Dopo ho impostato lo z-index il problema è scomparso. Ho trovato la soluzione qui di seguito.

http://www.kevinleary.net/jquery -fadein-fadeout-problemi-di-internet-explorer /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top