h5页面列表滚动加载数据
h5列表滚动加载数据很常见,以下分享下今天做的案例:
前言
这个效果实现需要知道三个参数
1. scrollTop -- 滚动条距离顶部的高度
2. scrollHeight -- 当前页面的总高度(body总高度)
3. clientHeight -- 当前可视的页面高度(设备窗口的高度)
html
<!--加载提示框-->
<div id="loading"></div>
css
#loading {
height: 32px;
line-height: 32px;
text-align: center;
}
js
//状态标记
var loading = true;
var start = 1;//当前页
var length = 5;//每页条数
//列表滚动加载数据
$(window).scroll(function () {
var scrollTop = $(this).scrollTop(); //滚动条距离顶部的高度
var scrollHeight = $(document).height(); //当前页面的总高度
var clientHeight = $(this).height(); //当前可视的页面高度
var totalHeight = parseFloat(clientHeight) + parseFloat(scrollTop);
if (scrollHeight - totalHeight < 40) { 注:-40 上拉加载更灵敏
if (!loading) {
loading = true;
$('#loading').show();
$('#loading').text("正在加载...");
start += 1;
//加载数据
loadData(start, length);
} else {
return false;
}
}
});
function loadData(start, length) {
$.get(url, {start: start, length: length}, function (result) {
var dataList = result.resultData.records;
if (dataList.length > 0) {
var opthtml = "";
dataList.forEach((value, index, array) => {
///拼接html
opthtml += ""
});
$("#listDiv").append(opthtml)
} else {
$('#loading').text("完全加载");
//延时隐藏
// setTimeout(() => {
// $("#loading").hide();
// }, 1000)
return false;
}
setTimeout(() => {
//内容获取后,隐藏加载提示
$("#loading").hide();
loading = false;
}, 1000)
});
}
h5页面列表滚动加载数据的更多相关文章
- vue2.0无限滚动加载数据插件
做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
- jquery ajax 滚动加载数据
jquery php 滚动加载数据(文件包 rollingpage) 效果如下: 页面加载时候($function(){ 自动加载第一页数据 }) 设置: var winH = $(window).h ...
- PHP+InfiniteScroll实现网页无限滚动加载数据实例
PHP+InfiniteScroll实现网页无限滚动加载数据实例,实现原理:当滚动条到底离网页底部一定长度的时候,向后台发送页数并获取数据. 首先我们在页面上先放置10条数据,即第一页,每一项都是p标 ...
- Vue无限滚动加载数据
Web项目经常会用到下拉滚动加载数据的功能,今天就来种草Vue-infinite-loading 这个插件,讲解一下使用方法! 第一步:安装 npm install vue-infinite-load ...
- 基于jquery鼠标或者移动端滚动加载数据
基于jquery鼠标或者移动端滚动加载数据 var stop = true; // 防止重复请求数据 $(window).scroll(function () { totalheight = pars ...
- H5页面下拉加载更多(实用版)
近期在做一个H5网站,需要下拉加载更多产品列表的功能.百度搜索了好久,什么说法都有,什么插件都有. 醉了.基本上每一个能直接拿来用的. 最后发现: 1.dropload.js 插件 还可以,但是 ...
- HTML5商城开发一 楼层滚动加载数据
对于楼层加载在以前只是个想法,从来没实现过,刚好项目中碰到,再此总结一下 场景:HTML5,局部商品列表信息滚动(局部滚动条) 1.通过jq设置subCategoryScroll的高度为屏幕显示高度( ...
- AppCan学习笔记----关闭页面listview动态加载数据
AppCan页面关闭 AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1); 管道 ...
- infinite-scroll插件无限滚动加载数据的使用
网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...
随机推荐
- js正则 - 限制用户名只能中文、字母和数字 , 不能包含特殊字符
/^[\u4E00-\u9FA5A-Za-z0-9]+$/
- redis api-String
- codeforces 962 F Simple Cycles Edges
求简单环,即求点=边数的点双分量,加上判断点和边的模板即可 (简单环模板,区分与点双缩点) ; ], edgecnt, dfn[maxm], low[maxm], bcc_cnt, bccnum[ma ...
- centos7 root下创建系统时间同步定时任务
步骤1:yum安装ntp.x86_64 步骤2:启动ntpd.service并设置为开机启动 步骤3:在root下crontab中添加定时任务 代码如下(每分钟校准一次): */ * * * * /u ...
- 关于pgsql 几个操作符的效率测试比较
关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次取平均时间.测试结果:->> 效率高 5% ...
- WOFF格式
WOFF格式WOFF文件格式是用WOFF (Web Open Font Format)创建的网页开放字体格式,Web开放字体格式(Web Open Font Format,简称WOFF)是一种网页所采 ...
- 转《Python爬虫学习系列教程》学习笔记
http://www.cnblogs.com/xin-xin/p/4297852.html
- POJ 3274:Gold Balanced Lineup 做了两个小时的哈希
Gold Balanced Lineup Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 13540 Accepted: ...
- iOS中html打开APP传参
1.在项目info.plist中添加URL Types以供html调用 2.html代码 <html> <head lang="en"> <meta ...
- jvm问题汇总
1.软引用.弱引用.虚引用-他们的特点及应用场景?