首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IE中的jQuery fadeIn + fadeOut?

IE中的jQuery fadeIn + fadeOut?
EN

Stack Overflow用户
提问于 2009-12-22 01:07:46
回答 5查看 4.4K关注 0票数 1

我有一个问题的fadeIn和fadeOut效果的jQuery,以正常工作在IE (6+7+8)。该脚本在FF和safari中运行良好(淡入淡出),但在IE中它只显示/隐藏-完全没有淡入淡出效果。

有什么想法吗?

代码语言:javascript
运行
复制
$(".myclass ul li:eq(" + $(this).attr("href") + ")").fadeIn(5000); 

它所获得的href属性只是保存了一个表示ul li长度中位置的数值。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-12-22 01:47:22

我也有同样的问题,并使用了下面的代码(来自上面Q8-coder发布的链接)。它工作得很好,但我仍然有一些问题。我注意到在容器元素上使用fadeTo在IE8中是不起作用的,该元素具有相对或绝对定位的子元素。父元素将淡入淡出,但具有正向或相对位置的所有子元素将保留在视图中。解决这个问题的唯一方法是使用jQuery选择容器元素及其所有子元素,然后对它们全部应用fadeTo。

代码语言:javascript
运行
复制
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();  
    }); 
}; 
票数 3
EN

Stack Overflow用户

发布于 2009-12-22 01:12:52

试试这个workaround

票数 1
EN

Stack Overflow用户

发布于 2014-03-24 20:30:41

对我来说,使用fadeIn()效果很好,我的<div>会很好地在IE9上淡入,然后(淡出完成后)它会再次消失。阿。

修复方法是添加如下所示的filter CSS值:

代码语言:javascript
运行
复制
$("#fadeMeIn").fadeIn("slow");
$("#fadeMeIn").css('filter', 'none');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1941356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档