我在Internet Explorer 8中遇到动画问题。我使用的代码适用于所有优秀的浏览器,甚至可以在Internet Explorer 7中按预期工作。
基本布局是在容器div中相互浮动的2个div。
在动画之前,我在另外2个顶部添加了第3个div,高度为0,边距为-10(容器div的高度与其中的2相匹配,新的应该是看起来它正从这个顶端发展。)
然后我在新div上使用.animate,并为x的高度和-y的margin-top设置动画(其中-y比x大10)。
在所有其他浏览器中,新div增长,负余量使其保持在下面的div之上。
但是在Internet Explorer 8中,下面的div跳到了新的div之上!
这似乎是一个保证金问题,因为当我从动画中删除边距时,它不再成长,但内容会像你期望的那样向下推。此外,如果我在动画结束时重置兄弟div上的边距,他们会神奇地回到原位(实际上我正在尝试使用IE开发人员工具,我发现改变兄弟姐妹的任何属性都会将它们放回原位)。
这是动画代码:
var height_to_set = $('#splash').height() - 95;
$('#splash').children('.tag').prepend('<div class="tag_explain"> </div>').children('.tag_explain').css( 'background-color' , bgc ).animate(
{
height:height_to_set,
'margin-top':'-'+(height_to_set+10)+'px'
} , 300 );
有没有人对这里可能出现的问题有任何建议?