JQuery:慢慢附加Div和html效果

Jac*_*ris 5 jquery

我正在使用ajax获取数据.

  <ul class="products">

  <li>Row1</li>

  <li>Row1</li>

  <li>Row1</li>

  <li>Row1</li>

  </ul>
Run Code Online (Sandbox Code Playgroud)

当用户点击li时,li会追加.

   jQuery(function(){

  jQuery('li').click(function(){

  jQuery('.products').append('<li class="new-rows"></li>');

  jQuery('.new-rows').html(dd , 500);

  });

 });
Run Code Online (Sandbox Code Playgroud)

现在我正在寻找的是新生成的li显示缓慢.

这里dd是使用ajax从另一个页面获取的内容;

检查这个小提琴:http: //jsfiddle.net/adHvb/2/

Adi*_*ngh 8

试试这个: - http://jsfiddle.net/adiioo7/adHvb/6/

JS: -

jQuery('li').click(function () {
      dd = 'baba';
      var liData = '<li class="new-rows" style="display:none;"></li>';
      $(liData).appendTo('.products').fadeIn('slow');

      jQuery('.new-rows').html(dd, 500);
  });
Run Code Online (Sandbox Code Playgroud)

  • 参见[fadeIn docs](http://api.jquery.com/fadeIn/).它要求最初隐藏元素,或者通过设置`style ="display:none;"`或使用jquery` .hide()`,以使其工作. (2认同)

Mar*_*k S 6

这里关于动画和效果的所有答案都非常好,但我主要关注的是提取部分,因为你没有包含它.您是在获取数据(文档就绪)还是仅在<li>单击时获取数据?

如果在<li> click()事件触发时获取数据,则不能仅为动画设置特定延迟.如果需要一些时间来获取数据怎么办?

我认为你应该在功能上做附加和动画.jQuery.ajax() success

jQuery('li').click(function(){
    var $newRow = jQuery('<li class="new-rows"></li>');

    jQuery.ajax({
        type: 'type',
        url: 'url',
        data: data,
        success: function(dd){
            $newRow.html(dd).appendTo('.products').hide().fadeIn(1000);     
        }
    });

});
Run Code Online (Sandbox Code Playgroud)