jQuery:.slidedown()然后fadeIn()不工作
我的表单中有一个部分,用户可以在其中添加其他字段。单击“添加字段”时,应在选项1下方留出一个空格,然后在延迟后,新添加的字段淡入。我的能量场不会消失,也不会下滑,不会有延迟。创造了一个空间,就这样。我做错了什么 我的表格部分: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
<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
});
});