iscroll.js实现上拉刷新,下拉加载更多,应用技巧项目实战
上拉刷新,下拉加载更多。。。仿原生的效果----iscroll是一款做滚动效果的插件,具体介绍我就不废话,看官方文档,我只写下我项目开发的一些用到的用法:
(如果不好使,调试你的css,想必是个很蛋疼的问题,给点提示 :#wrapper,以及#scroller-content要注意)
html如下:
<div class="viewport">
<div id="wrapper" class="wrapper">
<div id="scroller">
<div id="scroller-pullDown">
<span id="down-icon" class="pull-down-icon fa fa-refresh fa-spin fa-fw"></span>
<span id="pullDown-msg" class="pull-down-msg">下拉刷新</span>
</div>
<div id="scroller-content">
//你写的内容在这里
</div>
<div id="scroller-pullUp">
<span id="up-icon" class="pull-up-icon fa fa-spinner fa-spin fa-fw"></span>
<span id="pullUp-msg" class="pull-up-msg">上拉加载</span>
</div>
</div>
</div>
</div>
css如下:
/* =================iscroll================================= */
#wrapper {
position: absolute;
z-index:;
top: 210*@size;
bottom: 0px;
left:;
width: 100%;
overflow: hidden;
}
#scroller {
position: absolute;
z-index:;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
width: 100%;
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-text-size-adjust: none;
-moz-text-size-adjust: none;
-ms-text-size-adjust: none;
-o-text-size-adjust: none;
text-size-adjust: none;
}
#scroller-pullDown,
#scroller-pullUp {
background: #333333;
height: 50px;
line-height: 50px;
border-bottom: 1px solid #ccc;
font-weight: bold;
font-size: 14px;
color: #888;
text-align: center;
position: absolute;
left: 0px;
width: 100%;
}
#scroller-pullDown {
top: -50px;
}
#scroller-pullUp {
bottom: -50px;
}
.pull-up-msg,
.pull-down-msg {
padding-left: 5px;
position: relative;
top: 0px;
}
#scroller-pullDown .pull-down-icon,
#scroller-pullUp .pull-up-icon {
display: inline-block;
color: #e84c3d;
font-size: 16px;
}
js代码看这里:
function pushData(m) {
var m = m || 10;
if (flag) {
//发送Ajax,循环自己的数据加载:
$.myGET(uri, {formData}, function (data) {
if (data.result) {
for (var i = 0; i < data.package.length; i++) {
data.package[i].isPass ? data.package[i].isPass = "pass" : data.package[i].isPass = "unpass";
temp = '<li>' + '<span class="item ellips">' + data.package[i].planName + '</span>' + '<span class="time">' + '2017.03.08' + '</span>' + '<span class="score">' + data.package[i].score + '</span>' + '<span class="status"><img src="/images/mainFrame/icon_result_' + data.package[i].isPass + '.png" alt=""></span>' + '<li>';
$("#target").append(temp);
}
if (m * n > data.total) {
$("#pullUp-msg").text("已无更多数据");
flag = false;
return false;
}
}
}
(function(window) {
var myScroll,
upIcon = $("#up-icon"),
downIcon = $("#down-icon"),
target = $("#target"),
temp = " ";
myScroll = new IScroll('#wrapper', {
probeType: 3,
mouseWheel: true
});
myScroll.on("scroll", function() {
var y = this.y,
maxY = this.maxScrollY - y,
downHasClass = downIcon.hasClass("reverse_icon"),
upHasClass = upIcon.hasClass("reverse_icon");
if (y >= 40) {
!downHasClass && downIcon.addClass("reverse_icon");
return "";
} else if (y < 40 && y > 0) {
downHasClass && downIcon.removeClass("reverse_icon");
return "";
}
if (maxY >= 40) {
!upHasClass && upIcon.addClass("reverse_icon");
return "";
} else if (maxY < 40 && maxY >= 0) {
upHasClass && upIcon.removeClass("reverse_icon");
return "";
}
});
//下拉逻辑在这里!
myScroll.on("slideDown", function() {
if (this.y > 40) {
window.location.reload();
}
});
//上拉逻辑在这里!
myScroll.on("slideUp", function() {
if (this.maxScrollY - this.y > 40) {
pushData();
myScroll.refresh();
}
});
})(window)
iscroll.js实现上拉刷新,下拉加载更多,应用技巧项目实战的更多相关文章
- juery下拉刷新,div加载更多元素并添加点击事件(二)
buffer.append("<div class='col-xs-3 "+companyId+"' style='padding-left: 10px; padd ...
- Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表
本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码 ...
- jQuery模拟原生态App上拉刷新下拉加载
jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用. <!doctype html> <html ...
- Android之 RecyclerView,CardView 详解和相对应的上拉刷新下拉加载
随着 Google 推出了全新的设计语言 Material Design,还迎来了新的 Android 支持库 v7,其中就包含了 Material Design 设计语言中关于 Card 卡片概念的 ...
- Flutter学习笔记(25)--ListView实现上拉刷新下拉加载
如需转载,请注明出处:Flutter学习笔记(25)--ListView实现上拉刷新下拉加载 前面我们有写过ListView的使用:Flutter学习笔记(12)--列表组件,当列表的数据非常多时,需 ...
- 微信小程序 上拉刷新/下拉加载
小程序项目中上拉刷新下拉加载是比较常见的需求,官方文档也提供了相当友好的API,但是因为API隐藏的比较深,文档描述也比较模糊所以也折腾了一番(官方文档),在此记录一下使用方式 onPullDownR ...
- ListView上拉刷新和分页加载完整的Dome
很多人工作的过程中都会碰到ListView下拉刷新和分页加载,然后大多数公司都已经把框架写好了,大家直接用就可以了,有些人一直对这个事情处于迷茫状态,为了让大家对上拉刷新和分页加载有一个比较全面的认识 ...
- jQuery WeUI 组件下拉刷新和滚动加载的实现
最近在做手机版使用到了下拉刷新和滚动加载,记录一下实现过程: 一.引入文件 ? 1 2 3 4 <link rel="stylesheet" href="Conte ...
- 实现app上对csdn的文章列表上拉刷新下拉加载以及加入缓存文章列表的功能 (制作csdn app 四)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23698511 今天继续对我们的csdn客户端未完成的功能进行实现,本篇博客接着客 ...
- 第三方 XListview 上拉加载、下拉刷新、分页加载和Gson解析
注意:此Demo用的是第三方的Xlistview.jar,需要复制me文件夹到项目中,两个XML布局文件和一张图片 把下面的复制到String中 <string name="xlist ...
随机推荐
- HAProxy负载均衡技术
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...
- windows server 2012/2016 设置多用户远程桌面(转载)
方案一: 该方案只能满足两个人同时远程. 方案二: https://blog.csdn.net/flyingshuai/article/details/77869279
- 2018/12.21:函数this的指向
1. 解决函数内this指向 1. 可以在函数外提前声明变量 _this/that=this 2. 通过apply和call 来修改函数内的this指向 (1) ...
- WEB前端 HTML
目录 WEB前端 HTML WEB前端 HTML TOC 什么是html? html的固有结构 注释 什么是标签? 标签分类 什么是标签属性? 适用于大多数HTML标签的属性 常用标签 常用引用标签 ...
- 最小化的 Google Analytics 代码
一个简单的代码段,用于跟踪网站上的网页浏览量,而无需添加外部库. 也适用于使用react和vue.js等单页应用程序. Before Google Tag Manager + Analytics = ...
- Hasse神舟笔记本卡logo解决,刷BIOS方法,教你修复神船
我的电脑是神舟战神K660E i7 d7的,前两天装Windows10,Ubuntu,MAC OS Mojave,PE 一堆操作,使用bootice重建uefi引导,结果在前几天,我删了一个重复的ue ...
- 虚拟机配置Linux上网环境
概要:在虚拟机安装CentOS6.5的环境后,配置NAT模式,修改系统文件支持上网. (1)ip地址的配置,IP地址的子网掩码为255.255.255.0. (2)网关的指定,也就是默认路由,当我们需 ...
- EL概述和EL11个隐含对象
jsp有内置对象,当然EL也有隐含对象,EL的隐含对象类似于JSP内置对象.隐含对象分为三类,下面对11个隐含对象进行概述: 1.页面上下文对象(pageContext)1个 pageContext对 ...
- Hadoop从入门到精通系列之--0.Hadoop生态体系
https://blog.csdn.net/Haidaiya/article/details/84568588#%E4%B8%80%20%E5%A4%A7%E6%95%B0%E6%8D%AE%E7%9 ...
- Spring service本类中方法调用另一个方法事务不生效问题(转载)
前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的.因此专门写此篇帖子分析why. 1.预备知识 aop概 ...