再会 :)
我在固定大小的 div 上同时使用 jQuery 的 animate() 不透明度和高度。
在 Firefox 中一切正常,但在 IE8 中(有和没有兼容模式,所以我假设它在 IE6 和 IE7 中会有相同的行为),动画确实显示,但是当 div 高度达到 0%, div 的高度调整为该 div 内文本的高度。
我立即做的第一件事是将溢出设置为隐藏,但它仍然给出相同的行为。
我正在使用以下功能来缓慢切换高度/不透明度:
function OpacityFadeToggle(e_trigger, e_element, speed)
{
$(e_trigger).toggle(
function() {
$(e_element).animate({
opacity: 0.0,
height: "0px"
}, speed);
},
function() {
$(e_element).animate({
opacity: 1.0,
height: "500px"
}, speed);
}
);
}
$(function() {
OpacityFadeToggle("a#a2", "div#b1", 1000);
});
我的“b1” div 的样式如下:
div#b1 {
color: #ffffff;
background-color: #000000;
overflow: hidden;
width: 600px;
height: 500px;
padding: 0px;
margin: 0px;
display: block;
}
如果你想看一个活生生的例子,我在这里临时设置了一个页面:点击我!
非常感谢您对此事的任何帮助。