我有一个包含3个部分的表格。在表单的开头,后两个部分使用css隐藏。用户按下第一部分中的下一个按钮后,第二部分应向下滑动到视图中,但是当前向下滑动的动画开始,然后立即重置。有人知道这个问题吗?
jQuery脚本:
<script>
$(document).ready(function(){
$("#buttonToSecondaryDetailsSection").click(function(){
$("#secondaryDetailsForm").slideDown("slow");
});
$("#buttonToCommentsSection").click(function(){
$("#commentsDetailsForm").slideDown("slow");
});
});
</script>
有问题的CSS:
#secondaryDetailsForm, #commentsDetailsForm {
display: none;
}
编辑:我尝试使用.show()而不是slideDown()之前,该部分只是闪烁,然后再次消失。
编辑2:e.preventDefault();做到了。很抱歉出现这个混乱的问题,试图给出一个使用jsfiddle的示例,但是它向左和向右抛出错误。
最佳答案
这可以解决您的问题。考虑到您的描述,我认为您的按钮的作用超出了应有的程度,实际发生的是页面正在刷新到原始状态。你可以试试这个吗?
$(document).ready(function(){
$("#buttonToSecondaryDetailsSection").click(function(e){
e.preventDefault();
$("#secondaryDetailsForm").slideDown("slow");
});
$("#buttonToCommentsSection").click(function(e){
e.preventDefault();
$("#commentsDetailsForm").slideDown("slow");
});
});
与您的代码的不同之处在于,将e作为事件参数,然后停止使用按钮进行的任何其他操作。如果我对问题的描述是实际发生的情况,那么它应该适用于此更改。