我slideToggle
在 a 上使用了jQuery<div>
来提供良好的旧“下拉”效果。
我让它在 chrome 中完全按照我想要的方式工作。然后我在 IE 中尝试了它,遇到了一些很奇怪的东西。我可以看到动画很好,<div>
会扩展到它的全高,但是当动画完成时,<div>
会消失吗?
我尝试了一些不同的方法来阻止它这样做,结果证明给<div>
any min-height
(我给它 1px)允许它工作。
我真的很想知道为什么必须min-height
在 IE 中提供一个才能使此功能正常工作?把它放在那里没什么大不了的,但我宁愿理解为什么我必须把它放在那里。代码如下。
HTML 结构
<div class="home_popConfiCont rbAll">
<div class="home_popConfiHead">Your Confidential Details<div class="arrow-up"></div></div>
<div class="home_popConfiBody">
Lots and lots of text
</div>
</div>
jQuery
$(function(){
var confOpen = 0;
$(".home_popConfiHead").click(function(){
if(confOpen){
$(".arrow-up").attr("class","arrow-up");
$(".home_popConfiBody").stop(true, true).slideToggle(100);
confOpen = 0;
}
else{
$(".arrow-up").attr("class","arrow-up arrow-down");
$(".home_popConfiBody").stop(true, true).slideToggle(100);
confOpen = 1;
}
});
});
应用于上述的 CSS <div>
:
.home_popConfiBody{padding:5px 5px 0 5px; display:none;line-height:20px;min-height:1px;}