移动端下拉刷新上拉加载-mescroll.js插件
时间:2022-04-22
本文章向大家介绍移动端下拉刷新上拉加载-mescroll.js插件,主要内容包括1、下载mescroll.js插件。、2、代码、3、效果、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
最近无意间看到有这么一个上拉刷新下拉加载的插件 —— mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com
然后我就看了一下文档,简单的写了一个小demo记录下来,因为没有过多需要解释说明的,所以直接贴出代码。
1、下载mescroll.js插件。
在页面中引入如下两个文件:
mescroll.min.css
mescroll.min.js
2、代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>mescroll-下拉刷新上滑加载</title>
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="lib/mescroll.min.css">
<script src="lib/mescroll.min.js"></script>
<script src="lib/zepto.min.js"></script>
<style>
*{
margin: 0;
padding: 0;
}
.clearfix::before,
.clearfix::after{
content: '';
display: block;
height: 0;
visibility: hidden;
clear: both;
}
.fl {
position: absolute;
top: 10px;
left: 0;
right: 120px;
}
.fr {
float: right;
}
.top {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 30px;
line-height: 30px;
z-index: 9999;
background-color: #ddd;
padding-left: 10px;
}
.layout {
width: 100%;
height: 100%;
padding-top: 50px;
}
.layout .content {
padding: 10px;
}
.layout .content li {
border-top: 1px solid #ddd;
padding: 10px 0;
position: relative;
}
.layout .content li:first-child {
border-top: 0 none;
}
.layout .content li .title {
height: 20px;
line-height: 20px;
font-size: 16px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
.layout .content li .summary {
margin-top:6px;
height: 44px;
line-height: 22px;
font-size: 14px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
word-break: break-all;
}
.layout .content li .img img {
float: right;
width: 110px;
}
.mescroll .upwarp-nodata {
padding-bottom: 30px;
}
</style>
</head>
<body>
<div class="top">
新闻列表
</div>
<div class="layout">
<div id="mescroll" class="mescroll">
<div class="mescroll-bounce">
<ul id="content" class="content">
</ul>
</div>
</div>
</div>
<script>
var mescroll = new MeScroll("mescroll", { //第一个参数"mescroll"对应上面布局结构div的id
//如果下拉刷新是重置列表数据,那么down完全可以不用配置
down: {
callback: downCallback //下拉刷新的回调
},
up: {
htmlNodata: '<p class="upwarp-nodata">没有更多了..</p>',
page: {
num: 0,
size: 10,
time: null
},
callback: upCallback //上拉加载的回调
}
});
var pageSize = 10;
function downCallback(page) {
$.ajax({
url: 'http://172.16.5.102:8081/ssm_project/news/newsList.do?status=1&pageSize='+pageSize+'&pageIndex=1',
type: 'get',
data:{},
success: function (res) {
$('#content').html('');
mescroll.resetUpScroll();
},
error: function () {
// 联网失败的回调,隐藏下拉刷新的状态
mescroll.endErr();
}
})
}
function upCallback(page) {
$.ajax({
url: 'http://172.16.5.102:8081/ssm_project/news/newsList.do?status=1&pageSize='+page.size+'&pageIndex='+page.num,
type: 'get',
data:{},
success: function (res) {
var list = res.data;
var html = '';
if(res.success == 1 && list.length > 0){ //有数据
list.forEach(function (item) {
html += `<li class="clearfix">
<div class="fl">
<h4 class="title">${item.title}</h4>
<p class="summary">${item.summary}</p>
</div>
<div class="fr img">
<img src="${item.titleImg}">
</div>
</li>`
})
}
$('#content').append(html);
if(res.data && res.data.length == page.size) {
//联网成功的回调,隐藏下拉刷新的状态(参数:当前页的数据个数, 是否有下一页true/false);
mescroll.endSuccess(res.data.length, true);
}else{
//联网成功的回调,隐藏下拉刷新的状态(参数:当前页的数据个数, 是否有下一页true/false);
mescroll.endSuccess(res.data.length, false);
}
},
error: function () {
// 联网失败的回调,隐藏下拉刷新的状态
mescroll.endErr();
}
})
}
</script>
</body>
</html>
3、效果
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法