Быстрый поиск по теме показывает следующее:
jQuery fadeIn / fadeOut IE сбой ясного типа
Кажется, проблема в том, что атрибут CSS «filter» не удаляется автоматически. Самое простое решение этой проблемы - удалить ее вручную:
$('#myDiv').fadeIn('slow', function() {
this.style.removeAttribute('filter');
});
Как объясняется в сообщении в блоге, это довольно грязное решение.
Выдержка из сообщения в блоге, включая более чистое решение этой проблемы:
Это означает, что каждый раз, когда мы
хотим исчезнуть элемент, нам нужно
удалить атрибут фильтра, который
делает наш код грязным.
Простое, более элегантное решение
быть, чтобы обернуть .fadeIn () и
.fadeOut () работает с
функция через интерфейс плагина
JQuery. Код будет точно
то же самое, но вместо прямого вызова
функции затухания, мы называем
обертка. Вот так:
$('#node').customFadeOut('slow', function() {
//no more fiddling with attributes here
});
Итак, как вы получаете это работает? Просто
включите следующий код после вас
включить библиотеку jQuery для
добавлена функциональность.
(function($) {
$.fn.customFadeIn = function(speed, callback) {
$(this).fadeIn(speed, function() {
if(jQuery.browser.msie)
$(this).get(0).style.removeAttribute('filter');
if(callback != undefined)
callback();
});
};
$.fn.customFadeOut = function(speed, callback) {
$(this).fadeOut(speed, function() {
if(jQuery.browser.msie)
$(this).get(0).style.removeAttribute('filter');
if(callback != undefined)
callback();
});
};
})(jQuery);