我在让 jQuery 的淡入和淡出效果在 IE (6+7+8) 中正常工作时遇到问题。该脚本在 FF 和 safari 中运行良好(褪色很好),但在 IE 中它只是显示/隐藏 - 根本没有褪色效果。
有任何想法吗?
$(".myclass ul li:eq(" + $(this).attr("href") + ")").fadeIn(5000);
它得到的 href 属性只是保存一个数值,表示 ul li 长度中的位置。
我遇到了同样的问题并使用了下面的代码(来自上面 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();
});
};
试试这个解决方法。
对我来说,使用fadeIn()
效果很好,我<div>
会很好地在 IE9 上淡入,然后(一旦淡入完成)它会再次消失。啊。
修复方法是添加filter
此处显示的 css 值:
$("#fadeMeIn").fadeIn("slow");
$("#fadeMeIn").css('filter', 'none');
试试这个:
$(".myclass ul li:eq(" + $(this).attr("href") + ")").hide().fadeIn(5000);
我在 IE8 中遇到了类似的脚本问题。在我设置 z-index 后,问题就消失了。我在下面找到了解决方案。
http://www.kevinleary.net/jquery-fadein-fadeout-problems-in-internet-explorer/