2013-02-22 33 views
0

嗨,感谢您花一些时间看我的问题。我有一部分内容是从另一个文件中动态加载的。原因是需要实时更新。现在我希望能够应用通常用于显示/隐藏内容(幻灯片,淡入淡出等)的jQuery效果,以动画化当前数据与新数据之间的差异。这是用于获取内容,并将其加载到DIV代码:如何在Ajax加载的内容上使用jQuery效果?

function k() { 
     $.post("../includes/ajaxAgenda.php", { 
      limit : value 
     }, function(data) { 
      $('#tab-agenda').html(data); 
     }); 
    }; 
     $(document).ready(function() { 
     k(); 
     $('#tab-agenda').scroll(function() { 
      loadMore(); 
     }); 
    }); 
    var refreshId = setInterval(function() { 
     k(); 
    }, 1000); 

所以我想我的问题是我怎么动画什么获取因此它不只是“啪”加载从一个内容另一个?

编辑:我尝试使用.live代替.scroll但它似乎不工作:

$(document).ready(function() { 
$('#tab-agenda').live("scroll",function() { 
     alert("hi"); 
     loadMore(); 
    }); 
}); 

回答

1

您需要使用jquery的live功能绑定动态添加的元素。

编号:http://api.jquery.com/live/

试试这个:

$('#tab-agenda').live("scroll",function() { 
      loadMore(); 
     }); 
+0

+1。这经常被忽视,并且可能会让你疯狂地尝试排除故障。 – 2013-02-22 12:49:40

+0

谢谢,但加载新内容不成问题。我已经使用 \t \t功能loadMore(){ \t \t \t如果($( '#制表议程')。scrollTop的()+ $( '#制表议程')。高度()== $('# itemlist')。height()){ \t \t \t \t value = value + 1; \t \t \t \t k(); \t \t \t} \t \t}; $( '#制表议程')滚动(函数(){ \t \t \t \t loadMore(); \t \t \t})。 要添加更多内容,我想动画添加的内容。或者,如果我改变它的生活,我将能够制作它的动画? – 2013-02-22 12:50:28

+0

为了绑定新添加的内容,您需要'live',否则它不会绑定到文档,所以您不能在jQuery中使用它。 – 2013-02-22 12:51:56

0

我建议你在与内容/ DIV像下面适当的CSS添加AJAX载入图像。

  function loadmore(){ 
      $("#loader").css('display','block'); 
      //your 
      //code 
      //here 
      $("#loader").css('display','none'); 
      } 

     html 
     <img id="loader" src="ajax-loader.gif" style="display:none" /> 
     <div id="content"> 
       your cont to display 
      </div>