Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:.slidedown()然后fadeIn()不工作_Jquery_Jquery Animate_Delay_Fadein_Slidedown - Fatal编程技术网

jQuery:.slidedown()然后fadeIn()不工作

jQuery:.slidedown()然后fadeIn()不工作,jquery,jquery-animate,delay,fadein,slidedown,Jquery,Jquery Animate,Delay,Fadein,Slidedown,我的表单中有一个部分,用户可以在其中添加其他字段。单击“添加字段”时,应在选项1下方留出一个空格,然后在延迟后,新添加的字段淡入。我的能量场不会消失,也不会下滑,不会有延迟。创造了一个空间,就这样。我做错了什么 我的表格部分: <div id="answers" style="display:none;"> <div class="form-group" id="option1"> <div class="col-xs-11 col-sm-9

我的表单中有一个部分,用户可以在其中添加其他字段。单击“添加字段”时,应在选项1下方留出一个空格,然后在延迟后,新添加的字段淡入。我的能量场不会消失,也不会下滑,不会有延迟。创造了一个空间,就这样。我做错了什么

我的表格部分:

<div id="answers" style="display:none;">
    <div class="form-group" id="option1">
        <div class="col-xs-11 col-sm-9 col-md-6">
            <input class="form-control" id="answer" placeholder="Answer Option">
        </div>
        <div class="col-xs-1 col-sm-1 col-md-1" style="line-height:36px;">  <a href="" class="remove">Remove</a>

        </div>
    </div>
    <div>   <a href="" id="add">Add Field</a>

    </div>
</div>

您的链接是问题所在:请尝试:

$("#answers div:first").clone().css({
         opacity: 0
     }).insertBefore("#answers div:last").slideDown('fast', function () {
         $(this).animate({
             opacity: 1
         });
     });
});

在(克隆)之前,它返回您的div,即“添加”按钮而不是克隆元素,我认为您正在给予延迟,以便在设置不透明动画之前完全向下滑动,您可以使用slideDown的完整回调语法来实现这一点

根据您的评论更新:

 $("#add").on("click", function (event) {
     event.preventDefault();
     $("#answers div:first").clone().css({
         opacity: 0,
         display:'none'
     }).insertBefore("#answers div:last").slideDown('slow').animate({
             opacity: 1
         });
 });

试试
$(“#answers div:last”)。在(clone.slideDown('fast',function(){this.animate(…)})之前。这将在slidedown函数完成时添加一个回调,而不是依赖计时器。是否需要这样的操作-->这接近我想要做的操作,但是空间会切换,而不是平滑地向下滑动。。然后淡入。@深度字段,所以您希望两者同时发生?不,我希望先创建空间,然后在创建足够的空间后,再淡入。。对不起,如果我没有解释清楚的话。例如可见性:隐藏,下拉仍然不可见,然后在留出足够的空间后,使div可见。
 $("#add").on("click", function (event) {
     event.preventDefault();
     $("#answers div:first").clone().css({
         opacity: 0,
         display:'none'
     }).insertBefore("#answers div:last").slideDown('slow').animate({
             opacity: 1
         });
 });