divがslideDownはなりますが、それはslideUpません。
質問
私は、トグル、slideUpとslideDownを使用してdiv要素のシリーズを表示し、非表示しようとしています。私は、slideDownにdiv要素を取得することができるが、私はslideUpにそれを取得することはできません。ので、私は本当にこれが動作しない理由として困惑している前に、私は何事もなく、このスクリプトを使用しました。私は私のスクリプトと私が表示され、非表示しようとしてるのdivが含まれている。
クイック注:私は「隠された車」のdivに定期的に古いpタグを入れると、それがうまく働きました。それがになっていたようです示すと隠れていました。私は戻っているのdivに私のテーブルを置いたときしかし、それは動作しませんでした。
<script type="text/javascript">
$(document).ready(function() {
$(".ShowVehicles").toggle(function() {
$(".HiddenVehicles").slideDown(2000);
$(this).text("Hide All");
}, function () {
$(".HiddenVehicles").slideUp(2000);
$(this).text("Show All");
});
});
<div class="HiddenVehicles" style="display:none; width:730px;">
(there will be a giant table in here)
</div>
解決
私はコメントとして、このアドバイスを掲載し、私はここに再びそれを掲示していますので、それは問題を解決するのに役立った。の
slideUp / slideDownアニメーションは一方向にしか動作した場合、、それは多くの場合、位置決めバグです。どちらかあなたがニーズをアニメーション化されている要素がposition:relative
に設定するか、要素の子がfloat
が適用されていると、親要素の真の高さを与えていないされます。
私は、テーブルにfloat:none
を追加しようとするだろう。それがうまくいかない場合は、position:relative
にdiv#HiddenVehicles
を追加してみます。
他のヒント
フロート/位置決め問題のないものについては、私はjQueryの1.10から1.11にアップグレードしても問題が解決していることが分かりました。
所属していません StackOverflow