我有一个包含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作为事件参数,然后停止使用按钮进行的​​任何其他操作。如果我对问题的描述是实际发生的情况,那么它应该适用于此更改。

10-08 08:35
查看更多