古き良き「ドロップダウン」効果を与えるためslideToggle
に、jQueryを使用しました。<div>
クロームで思い通りに動作させました。それから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;}