Pergunta

Estou tendo um problema em gtettting fadein e efeito desbotado do jQuery para funcionar corretamente no IE (6+7+8). O script funciona bem no FF e no Safari (desbotando bem), mas no IE apenas mostra/couros - nenhum efeito desbotado.

Alguma ideia?

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

O atributo href que está recebendo está simplesmente mantendo um valor numérico representando a posição no comprimento da Ul Li.

Foi útil?

Solução

Eu tinha o mesmo problema e usei o código abaixo (no link publicado pelo Q8-Coder acima). Funciona bem, mas eu ainda tive alguns problemas. Percebi que o uso do Fadeto em um elemento de contêiner com filhos com posicionamento relativo ou absoluto não funcionou no IE8. O pai desapareceria, mas todos os elementos dos filhos com posicionamento positivo ou relativo permaneceriam em vista. A única maneira de se locomover era selecionar o elemento do contêiner e tudo o que é crianças usando jQuery e depois aplicar o Fadeto a todos.

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();  
    }); 
}; 

Outras dicas

tente isso Gambiarra.

Para mim, usando fadeIn() funcionou bem, meu <div> Fidiria bem no IE9, então (uma vez que o desbotamento fosse concluído), ele desapareceria novamente. Ah.

A correção era adicionar o filter Valor CSS mostrado aqui:

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

Experimente isso:

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

Eu tive um problema semelhante com um script no IE8. Depois de definir o índice z, o problema desapareceu. Encontrei a solução abaixo.

http://www.kevinleary.net/jqueryer-fadein-fadeout-problems-in-nenternet-explorer/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top