百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> js实现网页瀑布流加载实现分页效果
分享文章到:

js实现网页瀑布流加载实现分页效果

发布时间:01/15 来源: 浏览: 关键词:
瀑布流在去年非常的流行了现在的许多的网站都有用,特别是图片网站都会有,下面来看一个js实现网页瀑布流加载实现分页效果,希望文章对各位有帮助.

一般我们是这样子的。

1.当进入屏幕时,判断内容是否为空,如果不为空,开始初始化数据。

2.当往屏幕下拉时,判断数据的最底部与屏幕高度+滚动的高度的大小。如果最底部小于上面两者之和,重新请求接口,即加载数据。

3.当遇到数据超过某个页数时,停止加载或者用分页的形式显示,点击再显示内容。

var intf_url="http://111cn.net /intf";
var pathUrl = "http://111cn.net /";
var page=1;
var isLoadRB=false; 
var ul_select=$("#fansList");
var btn_more=$("#loading");
if(ul_select.length <1) return ;
var is_more =true;
//跨域请求接口
function loadjs(src,callback){
 var js= document.createElement('script');
 js.src = src;
 js.onreadystatechange = js.onload =function(){
  if(!js.readyState || js.readyState=='loaded'
   || js.readyState=='complete'){
   if(callback){callback()||callback};
 }
};
js.charset="utf-8";
document.getElementsByTagName('head')[0].appendChild(js);
}
//回调函数
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<scroll_Top+window_height?true:false;
}
$(window).scroll(function(){
 var _needload=needtoloadRB();
 if(_needload && isLoadRB==false &&is_more){isLoadRB=true;queryintf();}
})
window.onload = function(){
 queryintf();
}

以上就是比较简单的随着下拉内容不断加载的思路代码。

json格式类似于(如果是动态接口,可以通过callback函数,则这里不用加fill()):

fill({"fans":[{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"},{"nickname":"蔡宝坚","website":"111cn.net ","youzhi":"2.5","time":"3分钟前"}],"pageCount":2,"pageNo":1,"pageSize":10,"totalSize":20
});

原来静态也可以做接口回调。通过静态处理,则大大缓解了服务器压力和加速生成内容,是大流量网站必备的处理方式。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有5人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板