在IE中使用jQuery .animate()时出错

时间:2011-02-24 17:26:16

标签: jquery internet-explorer

我在jQuery版本1.4.4中有以下代码:

var currentMemberID = 1;
$('div[memberContainer='+currentMemberID+']').fadeOut(500, function() {                
                $(this).parent().animate({
                    height: '0px',
                    margin: '0px',
                    padding: '0px'
                }, 500, null);                
            });

此代码在Google Chrome和Firefox中运行良好,但我在IE 8中收到以下错误:

  

使用fadeOut操作完成后,参数“无效。

div的父级是<li>

有关如何避免此错误的任何想法?

2 个答案:

答案 0 :(得分:0)

fadeOut在元素达到0时将元素的显示设置为“无”。当显示设置为“无”时,IE可能会通过“this”访问它的父级。

您是否尝试过设置不透明度的动画?

$("#childDiv").animate({ opacity: 0 }, 500, function() {
    $(this).parent.animate({ height: '0px', width'0px' }, 500, null);
});

答案 1 :(得分:0)

找到了解决方法:

 $('div[memberContainer='+currentMemberID+']').fadeOut(500, function() {
                $(this).parent().css('padding', '0px');
                $(this).parent().animate({
                    height: '0px',
                    margin: '0px'                    
                }, 500, null);                
            });

我现在正在更改动画外部的填充,它工作正常。