我在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>
。
有关如何避免此错误的任何想法?
答案 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);
});
我现在正在更改动画外部的填充,它工作正常。