是否可以使用jQuery AJAX淡入传入数据

时间:2013-10-28 17:24:06

标签: ajax jquery

我想知道如果它使用jQuery AJAX检测到来自aspx的任何新的<li>data</li>,是否可能检测和fadeIn。主要用于新闻评论系统,因此其他读者在阅读新闻时会看到新评论消失,以及它如何适用于以下代码。

  $(document).ready(function () {
            $.ajax({
                url: 'WebForm1.aspx',
                success: function (data) {
                    $("#Urunler").html(data);
                }
            });
    });

    <ul id="Urunler" runat="server">

    </ul>

2 个答案:

答案 0 :(得分:1)

如果您无法更改webform1.aspx文件以仅返回新的li元素,那么您可以执行以下操作 -

你的成功功能将是

var count = $("#Urunler").find('li').length;
var count1 = $(data).siblings().length;
if(count < count1){
  var startIndex = count;
  while(startIndex < count1){
    var li = $($(data).siblings()[startIndex++]).clone();
    li.hide();
    $("#Urunler").append(li).fadeIn();
  }
}

这将检查li中现有ul元素的数量,并检查该数字与数据返回的li总数。如果返回的li数量更大,则会一次将liul附加到{{1}}并将其淡入。我自己没有检查过代码,但这应该给出你有个主意。

答案 1 :(得分:0)

在这种情况下,由于您要添加元素列表,因此您需要使用appendTo而不是html

$(data).appendTo('#Urunler').hide().fadeIn();

当您使用html时,它会抓取整个#Urunler元素并隐藏它,而appendTo则只允许您处理您创建的数据。

编辑:在使用appendTo

的含义时使用追加