我正在构建一个HTML表单,它需要一些简单的条件字段被打开/关闭的可能性。我的问题与jQuery动画和对象高度在动画处于转换时未被保留有关。这导致了动画转换中的跳跃式跳跃。jQuery显示/隐藏动画,保持对象的高度,直到动画完成
看到这个小提琴,以便更好地理解这个问题:https://jsfiddle.net/n3frxf6m/4/
当复选框被选中,它取代了默认的输入#4 3条件字段#。
我已经尝试了几种方法,包括在脚本中替换display: none
到visibility: visible
并使用opacity
,但它不能解决问题。
有没有一种优雅的方式让这样的显示/隐藏动画变得流畅?
<div style="width: 300px;">
<div>
<input type="checkbox" id="show_hide" /> Check me
</div>
<div style="float: left;">
<input type="text" value="Field 1" />
</div>
<div style="float: right;">
<input type="text" value="Field 2" />
</div>
<div id="hidden" style="display: none">
<input type="text" value="Field 3 (conditional field)" />
</div>
<div id="visible">
<input type="text" value="Field 4" />
</div>
<div>
<input type="text" value="Field 5" />
</div>
</div>
<script>
$('#show_hide').click(function() {
if ($(this).is(':checked')) {
$("#hidden").show(500);
$("#visible").hide(500);
} else {
$("#hidden").hide(500);
$("#visible").show(500);
}
});
</script>
请重要的代码添加到您的问题。而不仅仅是代码的链接。 – imtheman
使用完整的代码更新了问题。 – TNF