今天在技术群看到有朋友有需求,就随手写了一个,你们随便看看~
demo地址:http://www.dtzhuanjia.com/pri...
(备注:这个主要用在移动端,因此用rem随便写了写样式= =PC看着不舒服用模拟器看吧)php
html:css
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>下一页</title> <meta name="Keywords" content=""> <meta name="description" content=""> <meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width"> <link rel="stylesheet" href="http://www.dtzhuanjia.com/css/init.css"> <link rel="stylesheet" href="http://www.dtzhuanjia.com/private/plugin/nextpage/index.css"> </head> <body> <script src="http://www.dtzhuanjia.com/js/calrem.js"></script> <style> .block{width:100%;height:4rem;line-height:4rem; background:#ccc;text-align:center;font-size:1rem;color:#fff;border-bottom:} </style> <div class="main"> <div class="block">已经加载的1-1</div> <div class="block">已经加载的1-2</div> <div class="block">已经加载的1-3</div> <div class="block">已经加载的1-4</div> <div class="block">已经加载的1-5</div> </div> <script src="http://www.dtzhuanjia.com/js/basic/jquery.js"></script> <script src="http://www.dtzhuanjia.com/private/plugin/nextpage/index.js"></script> <script> $(document).ready(function(){ var initNextPage = new InitNextPage({ bottom : 20,//距离底部像素 target : ".main",//插入目标源 url : "http://www.dtzhuanjia.com/private/plugin/nextpage/nextPage.php"//ajax请求的url }) }); </script> </body> </html>
js代码:html
function InitNextPage(obj){ _this = this; _this.bottom = obj.bottom||10;//距离底部像素 _this.target = obj.target||"body";//插入目标源 _this.url = obj.url||"none";//ajax请求的url _this.page = 2; //滑到底 $(window).scroll(function(){ _this.scrollToBottom(); }); } InitNextPage.prototype = { scrollToBottom : function(){ if($(window).scrollTop()+$(window).height()>$(document).height()-_this.bottom){ if(_this.url=="none"){ alert("ajax url不能为空"); return; } $.ajax({ url : _this.url, async: false, data : { page : _this.page, }, success : function(data){ _this.page++; $(_this.target).append(data); } }); } } }
备注:jquery
var initNextPage = new InitNextPage({ bottom : 20,//距离底部像素 target : ".main",//插入目标源 url : "http://www.dtzhuanjia.com/private/plugin/nextpage/nextPage.php"//ajax请求的url })
上面代码中:
bottom是距离底部多少像素时执行ajax,默认10
target是执行成功后,像哪一个dom插入返回的数据,默认为body
url是ajax url地址,必填。ajax
若是有其余需求,好比返回json(例子中直接返回Html),能够修改success中的代码,就不赘述了~chrome