jQuery の slideToggle を使用すると、トグル ボタンを繰り返しクリックすると、最後までジャンプしたり、高さを誤って計算したりすることなく、アニメーションがスムーズに反転します。
$('.toggle').click(function () {
$('.panel').stop().slideToggle();
});
ただし、jQuery の slideUp メソッドと slideDown メソッドを一緒に使用すると、高さが正しく計算されません。
var isOpen = true;
$('.toggle').click(function () {
if (!isOpen) {
$('.panel').stop().slideDown();
isOpen = true;
}
else {
$('.panel').stop().slideUp();
isOpen = false;
}
});
slideToggle が状態を維持する方法と、slideDown と slideUp が維持されない理由を知っている人はいますか?