【问题标题】:jQuery: .slidedown() then fadeIn() not workingjQuery:.slidedown() 然后fadeIn() 不起作用
【发布时间】:2013-09-22 15:13:06
【问题描述】:

我的表单中有一个部分,用户可以在其中添加其他字段。单击“添加字段”时,选项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>

我的 jQuery:

$("#add").on("click", function (event) {
    event.preventDefault();
    var clone = $("#answers div:first").clone()
        .css({
        opacity: 0
    });

    $("#answers div:last").before(clone)
    //(clone).insertBefore("#adding")
    .slideDown('fast')
        .delay(300)
        .animate({
        opacity: 1
    }, {
        queue: false,
        duration: 'fast'
    });
});

【问题讨论】:

  • 试试$("#answers div:last").before(clone).slideDown('fast', function() {this.animate(...)});。这会在滑动功能完成时添加一个回调,而不是依赖计时器。
  • 你想要这样的东西吗--> jsfiddle.net/udaaY

标签: jquery jquery-animate delay fadein slidedown


【解决方案1】:

你的链接是问题:试试:

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

Fiddle

当您执行$("#answers div:last").before(clone) 时,它会返回您的 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
         });
 });

Fiddle

【讨论】:

  • 这接近我想要做的,但是空间切换而不是平滑地向下滑动..然后淡入。
  • @thedeepfield 所以你希望两者同时发生?
  • 不,我想先腾出空间,然后在腾出足够的空间后,再淡入..对不起,如果我没有解释清楚。
  • 可见性之类的东西:隐藏,下拉仍然不可见,然后在腾出足够的空间后,使 div 可见。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
相关资源
最近更新 更多