jQuery:逐个插入li项目?

Leg*_*end 2 javascript jquery

我编写了以下内容(jQuery插件的一部分),将一组JSON对象中的项插入到<ul>元素中.

...
query: function() {
    ...
 $.ajax({
  url: fetchURL,
  type: 'GET',
  dataType: 'jsonp',
  timeout: 5000,
  error: function() { self.html("Network Error"); },
  success: function(json) {
    //Process JSON
    $.each(json.results, function(i, item) {
                  $("<li></li>")
                   .html(mHTML)
                   .attr('id', "div_li"+i)
                   .attr('class', "divliclass")
                   .prependTo("#" + "div_ul");

               $(slotname + "div_li" + i).hide();
               $(slotname + "div_li" + i).show("slow")
             }
   }
  });
 }
  });
 },
...
Run Code Online (Sandbox Code Playgroud)

这样做可能在<li>理论上逐个添加项目,但是当我加载页面时,一切都会立即显示出来.相反,有没有一种有效的方法让它们逐一慢慢出现?我将用一个小例子来解释:如果我有3个项目,这个代码会使所有3个项目瞬间出现(至少在我看来).我希望像1渐弱,然后2渐弱,然后3渐变(或许像一个新的标签).有人有建议吗?

aza*_*oth 5

您可能希望通过以下编码获得所需效果:

$(slotname + "div_li" + i).hide().delay(i*n).show("slow");
Run Code Online (Sandbox Code Playgroud)

其中n有一些软延迟修饰符(以毫秒为单位); 我假设i这里也是索引,因而是一个数字.