我试图使用toggle,slideUp和slideDown显示和隐藏一系列div。我能够将div转换为slideDown,但我无法将其转换为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>
答案 0 :(得分:3)
我发布了这条建议作为评论,它有助于解决问题所以我在这里再次发布:
当slideUp / slideDown动画仅以单向方式工作时,它通常是一个定位错误。您要设置动画的元素需要设置为position:relative
,或者元素的子元素应用float
并且不会给父元素赋予真实高度。
我会尝试将float:none
添加到表格中。如果这不起作用,请尝试将position:relative
添加到div#HiddenVehicles
。
答案 1 :(得分:0)
对于没有浮动/定位问题的人,我发现从jQuery 1.10升级到1.11解决了这个问题。