所谓的瀑布流效果就正如轻图床首页效果那样,多个内容相近的栏目紧密排列,尽量使到栏目间的间隙最小(即流体布局),并且随着页面滚动条向下滚动,新的数据会追加至当前页面的尾部直到所有数据加载完毕(滚动触发的 Ajax 翻页)。
瀑布流触发分页
这里说一下思路,虽然下面的实例中不能全都用到: 1.当进入屏幕时,判断内容是否为空,如果不为空,开始初始化数据。 2.当往屏幕下拉时,判断数据的最底部与屏幕高度+滚动的高度的大小。如果最底部小于上面两者之和,重新请求接口,即加载数据。 3.当遇到数据超过某个页数时,停止加载或者用分页的形式显示,点击再显示内容。
函数
function fill(data){
if(data.pageCount==data.pageNo){
is_more=false;//如果数据全部加载完毕,取消加载
$("#loading").html("加载完毕");
}
}
//解析接口
function queryIntf(){
var url=page==1?intf_url+".json":intf_url+"_page"+page+".json";
loadJs(url,callback);
}
function callback(){
page++;
}
/*判断是否要加载接口*/
function needtoloadRB(){
var btn_top=btn_more.offset().top;
var window_height=$(window).height();
var scroll_Top=$(window).scrollTop();
return btn_top
JSON格式类似于(如果是动态接口,可以通过callback函数,则这里不用加fill()):
原来静态也可以做接口回调。通过静态处理,则大大缓解了服务器压力和加速生成内容,是@R_518_403@网站必备的处理方式。