У меня была та же проблема, и я использовал приведенный ниже код (по ссылке, размещенной Q8-кодером выше). Это работает хорошо, но у меня все еще были некоторые проблемы. Я заметил, что использование fadeTo для элемента контейнера, у которого были дочерние элементы с относительным или абсолютным позиционированием, не работало в IE8. Родитель исчезнет, но все дочерние элементы с положительным или относительным позиционированием останутся в поле зрения. Единственный способ обойти это - выбрать элемент контейнера и все его дочерние элементы, используя jQuery, а затем применить fadeTo ко всем из них.
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();
});
};