js 实现无限加载分页(适合移动端)
2016-05-24 17:50
731 查看
js 实现无限加载分页(适合移动端)
一、原理:当滚动条到达底部时,执行下一页内容。
判断条件需要理解三个概念:
1.scrollHeight 真实内容的高度
2.clientHeight 视窗的高度,即在浏览器中所能看到的内容的高度
3.scrollTop 视窗上面隐藏掉的部分,即滚动条滚动的距离
思路:
1.使用fixed定位加载框
2.使用$(window).scroll();方法来触发是否加载
3.通过 真实内容高度 - 视窗高度 - 上面隐藏部分 < 5 ,作为加载触发的条件
javascript代码:
var page=1; //当前页的页码
var allpage; //总页码,会从后台获取
function showAjax(page){
$.ajax({
url:"",
type:"",
data:"",
success:function(data){
//要执行的内容
showContent();
page++;
//页数加1
}
})
}
function scrollFn(){
//真实内容的高度
var pageHeight = Math.max(document.body.scrollHeight,document.body.offsetHeight);
//视窗的高度
var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
//隐藏的高度
var scrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
if(pageHeight - viewportHeight - scrollHeight < 20){//如果满足触发条件,执行
showAjax(page);
}
}
$(window).bind("scroll",scrollFn);//绑定滚动事件
二、
$(window).scroll(function
() {
//已经滚动到上面的页面高度
var scrollTop = $(this).scrollTop();
//页面高度
var scrollHeight = $(document).height();
//浏览器窗口高度
var windowHeight = $(this).height();
//此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
if (scrollTop + windowHeight == scrollHeight) {
dragThis.insertDom();
}
});
三、js插件
一、原理:当滚动条到达底部时,执行下一页内容。
判断条件需要理解三个概念:
1.scrollHeight 真实内容的高度
2.clientHeight 视窗的高度,即在浏览器中所能看到的内容的高度
3.scrollTop 视窗上面隐藏掉的部分,即滚动条滚动的距离
思路:
1.使用fixed定位加载框
2.使用$(window).scroll();方法来触发是否加载
3.通过 真实内容高度 - 视窗高度 - 上面隐藏部分 < 5 ,作为加载触发的条件
javascript代码:
var page=1; //当前页的页码
var allpage; //总页码,会从后台获取
function showAjax(page){
$.ajax({
url:"",
type:"",
data:"",
success:function(data){
//要执行的内容
showContent();
page++;
//页数加1
}
})
}
function scrollFn(){
//真实内容的高度
var pageHeight = Math.max(document.body.scrollHeight,document.body.offsetHeight);
//视窗的高度
var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
//隐藏的高度
var scrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
if(pageHeight - viewportHeight - scrollHeight < 20){//如果满足触发条件,执行
showAjax(page);
}
}
$(window).bind("scroll",scrollFn);//绑定滚动事件
二、
$(window).scroll(function
() {
//已经滚动到上面的页面高度
var scrollTop = $(this).scrollTop();
//页面高度
var scrollHeight = $(document).height();
//浏览器窗口高度
var windowHeight = $(this).height();
//此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
if (scrollTop + windowHeight == scrollHeight) {
dragThis.insertDom();
}
});
三、js插件
移动端下拉刷新、上拉加载更多插件dropload
H5基于iScroll实现下拉刷新,上拉加载更多
相关文章推荐
- 玩转Xcode之修改系统生成的注释模板
- 仿格瓦拉@电影Android个人中心背景循环动图
- Android通用流行框架大全
- 微信支付心得
- Appium 等待的三种方法
- Android Shape的使用
- Swift-自动引用计数(Automatic Reference Counting)(十四)
- Android 基础总结:(二)Android APP基础及组件
- Struts2_Object-Graph Navigation Language(OGNL)
- cocos2dx源码分析之内存管理
- android studio导入PullToRefresh
- android实现气泡聊天
- android—sdk遇到的问题- Support Libraries删除后找不到
- POJ 3321 Apple Tree 线段树
- 在网页上添加微信分享按钮,关注微信号等按钮
- 史上最用心的iOS App上架流程
- Android拍照适配方案
- iOS Socket理论知识
- 使用Go语言开发iOS应用(Swift版)
- Android之事件分发机制