我有一个问题的fadeIn和fadeOut效果的jQuery,以正常工作在IE (6+7+8)。该脚本在FF和safari中运行良好(淡入淡出),但在IE中它只显示/隐藏-完全没有淡入淡出效果。
有什么想法吗?
$(".myclass ul li:eq(" + $(this).attr("href") + ")").fadeIn(5000);
它所获得的href属性只是保存了一个表示ul li长度中位置的数值。
发布于 2009-12-22 01:47:22
我也有同样的问题,并使用了下面的代码(来自上面Q8-coder发布的链接)。它工作得很好,但我仍然有一些问题。我注意到在容器元素上使用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();
});
};
发布于 2009-12-22 01:12:52
试试这个workaround。
发布于 2014-03-24 20:30:41
对我来说,使用fadeIn()
效果很好,我的<div>
会很好地在IE9上淡入,然后(淡出完成后)它会再次消失。阿。
修复方法是添加如下所示的filter
CSS值:
$("#fadeMeIn").fadeIn("slow");
$("#fadeMeIn").css('filter', 'none');
https://stackoverflow.com/questions/1941356
复制相似问题