Blogspot上
问题描述:
像9GAG向下滚动时自动加载旧帖子这是我的博客:http://9gago.blogspot.com/这是做出来的bloggger/Blogspot上的我要这个功能,其中你下滚,将加载旧帖子一个博客,所以这并不需要用户每次到达页面的最后一个帖子时,点击旧帖子。这是一个完全符合http://9gag.com/或曾经拥有它的网站。Blogspot上
答
我有你可能会喜欢一个实现。有几种方法可以用更多的变体来做到这一点。
首先,你需要存储的数据的,你在网格中显示某处的钥匙。这假定你有一个本质上是顺序的密钥。自动递增整数将工作。
在网格的标记可能是这个样子:
<div class="content" id="7">some stuff</div>
<div class="content" id="8">another row of stuff</div>
<div class="content" id="9">another row of stuff</div>
然后,你需要一个函数来显示“加载”图标,也将抓住下一批数据。使用网格中最后一个元素的id在服务器端运行一个查询,该查询将抓取接下来的20个(或多个你想要的)数据行。
function lastRow()
{
$('div#lastRowLoader').html('<img src="spinner.gif"/>');
$.post('dataUrl?action=getNextRows&lastId=' + $('.content:last').attr('id'),
function(data){
if (data != '') {
$('.content:last').after(data);
}
$('div#lastRowLoader').empty();
});
};
然后检测用户的最后一个函数向下滚动到页面的末尾。
$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height()){
lastRow();
}
});
很明显,您需要一些代码来接受您发布的返回信息,以便通过DOM将数据加载到您的页面中。我已经编写了这段代码,从概念上向您展示了需要发生的事情。您的标记会有所不同,您的网格可能是从Sencha Ext JS到手动滚动的任何内容。
希望这是足以让车轮转动你。
出于好奇,为什么不直接设置设定为500的“最多秀”?你关心性能/响应能力吗? (最后我检查了,500是一个上限,你预计需要更多吗?) – kmote 2012-02-03 02:40:21
我想你想知道** http://www.exeideas.com/2013/08/add-unlimited-blog- -scrolling.html后** ... – 2016-01-15 15:14:32