iscroll实现移动端下拉刷新,上拉加载更多
js菜鸡-------自我记录
html页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<meta name="format-detection" content="telephone=no">
<meta name="format-detection" content="address=no">
<title>iscroll-测试</title>
<link href="css/reset.css" rel="stylesheet" type="text/css">
<link href="css/cm.css" rel="stylesheet" type="text/css">
</head>
<style>
span{display:block;width:100%;text-align:center;}
</style>
<body>
<div id="wrapper">
<div id="scroller">
<div id="pullDown">
<span class="pullDownIcon"></span><span class="pullDownLabel">下拉刷新</span>
</div>
<!--信息列表-->
<ul id="thelist">
<div class="cm-v2 no-border">
<section class="doc-box">
<ul class="doctorUlList" id="doctorUlListAuto">
<!--此处展示具体信息 -->
</ul>
</section>
</div>
</ul>
<div id="pullUp">
<span class="pullUpIcon"></span><span class="pullUpLabel" >查看更多</span>
</div>
</div>
</div>
<div id="footer"></div>
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/iscroll.js"></script>
<script type="text/javascript" src="js/getList-iscroll.js"></script>
<script type="text/javascript"> var currentPage = 1; Ajax(currentPage); var myScroll,
pullDownEl, pullDownOffset,
pullUpEl, pullUpOffset; function loaded() {
pullDownEl = document.getElementById('pullDown');
pullDownOffset = pullDownEl.offsetHeight;
pullUpEl = document.getElementById('pullUp');
pullUpOffset = pullUpEl.offsetHeight; myScroll = new iScroll('wrapper', {
useTransition: true,
topOffset: pullDownOffset,
onRefresh: function () {
if (pullDownEl.className.match('loading')) {
pullDownEl.className = '';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'refresh...';
} else if (pullUpEl.className.match('loading')) {
pullUpEl.className = '';
pullUpEl.querySelector('.pullUpLabel').innerHTML = 'load more...';
}
},
onScrollMove: function () {
if (this.y > 5 && !pullDownEl.className.match('flip')) {
pullDownEl.className = 'flip';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'refresh...';
this.minScrollY = 0;
} else if (this.y < 5 && pullDownEl.className.match('flip')) {
pullDownEl.className = '';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'refresh...';
this.minScrollY = -pullDownOffset;
} else if (this.y < (this.maxScrollY - 5) && !pullUpEl.className.match('flip')) {
pullUpEl.className = 'flip';
pullUpEl.querySelector('.pullUpLabel').innerHTML = 'refresh...';
this.maxScrollY = this.maxScrollY;
} else if (this.y > (this.maxScrollY + 5) && pullUpEl.className.match('flip')) {
pullUpEl.className = '';
pullUpEl.querySelector('.pullUpLabel').innerHTML = 'load more...';
this.maxScrollY = pullUpOffset;
}
},
onScrollEnd: function () {
if (pullDownEl.className.match('flip')) {
pullDownEl.className = 'loading';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Loading...';
pullDownAction();
} else if (pullUpEl.className.match('flip')) {
pullUpEl.className = 'loading';
pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Loading...';
pullUpAction();
}
}
});
setTimeout(function () { document.getElementById('wrapper').style.left = '0'; }, 800);
} function pullDownAction () {
window.location.reload();
}
function pullUpAction () {
var page = currentPage++;
Ajax(page);
myScroll.refresh();
} document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);
</script>
</body>
</html>
ajax请求后台数据:
/**
* Created by jstarseven on 2016/3/7.
*/
function Ajax(page) {
$.ajax({
type: "post",
dataType: "JSON",
url: "http://xx.xxxxxx.com/wx_service/getList",
data: {'page': page},
success: function (data) { var item = '';
$.each(data, function (i, result) {
var skill = result['skill'];
item += '<li>';
item += '<a href="getDoctorDetail.html?doctorId=' + result['doctorId'] + '">';
item += '<div class="doc-pic"><img id="headPicUrl" src="' + result['headPicUrl'] + '" alt=""></div>';
item += '<div class="doc-info">';
item += '<h4><span>' + result['doctorName'] + '</span> <span>' + result['doctorTitle'] + '</span></h4>';
item += '<p class="c-666">' + result['hospitalName'] + '</p>';
item += '<p class="shanchang" id="skillBegin">'; $.each(skill, function (i) {
item += '<span>' + skill[i] + '</span>';
}) item += '</p>';
item += '<div class="feiyong">';
item += '<span class="s1">¥ <span>' + result['consultPrice'] + '</span>/次</span>';
item += '<span class="s2"><span>' + result['payNumber'] + '</span>人付款,<span>' + result['praisePercent'] + '</span> 好评</span>';
item += '</div>';
item += '</div>';
item += '</a>';
item += '</li>';
});
$('.doctorUlList').append(item);
},
error: function () {
console.log("当前请求失败");
}
});
}
-END-

iscroll实现移动端下拉刷新,上拉加载更多的更多相关文章
- SwipeRefreshLayout实现下拉刷新上滑加载
		
1. 效果图 2.RefreshLayout.java package myapplication.com.myapplication; import android.content.Context; ...
 - Android 下拉刷新上啦加载SmartRefreshLayout + RecyclerView
		
在弄android刷新的时候,可算是耗费了一番功夫,最后发觉有现成的控件,并且非常好用,这里记录一下. 原文是 https://blog.csdn.net/huangxin112/article/de ...
 - juery下拉刷新,div加载更多元素并添加点击事件(二)
		
buffer.append("<div class='col-xs-3 "+companyId+"' style='padding-left: 10px; padd ...
 - 移动端下拉刷新上拉加载-mescroll.js插件
		
最近无意间看到有这么一个上拉刷新下拉加载的插件 -- mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com 然后我就看了一下文档,简单的写了一个小dem ...
 - Android如何定制一个下拉刷新,上滑加载更多的容器
		
前言 下拉刷新和上滑加载更多,是一种比较常用的列表数据交互方式. android提供了原生的下拉刷新容器 SwipeRefreshLayout,可惜样式不能定制. 于是打算自己实现一个专用的.但是下拉 ...
 - Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表
		
本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码 ...
 - 基于SwiperJs的H5/移动端下拉刷新上拉加载更多的效果
		
最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...
 - 基于SwiperJs的H5/移动端下拉刷新上拉加载更多
		
最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...
 - vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件
		
vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源 ...
 - JS+CSS实现的下拉刷新/上拉加载插件
		
闲来无事,写了一个当下比较常见的下拉刷新/上拉加载的jquery插件,代码记录在这里,有兴趣将代码写成插件与npm包可以留言. 体验地址:http://owenliang.github.io/pull ...
 
随机推荐
- 模板专业化和模板偏特样片(template specialization and partial template specialization)
			
测试环境: win7 64 g++ 4.8.1 /*************************************************************************** ...
 - ATMEGA16 IOport相关汇总
			
ATMEGA16 IOport总的共同所有权有关的寄存器有三个DDRX.PORTX和PINX. 假设你想IO动作基本上与这三个寄存器操纵.DDRX也被称为数据方向寄存器.PORTX所谓数据寄存器.PI ...
 - [译]在运行时内存中的Java对象是怎么样的
			
(文章翻译自What do Java objects look like in memory during run-time?) 我们知道函数在内存中是作为一个活动记录栈来实现的.而且我们知道Java ...
 - Android项目---ActivityGroup的使用
			
ActivityGroup在一年前已经被说明不用了,但是腾讯QQ,新浪微博上也不乏ActivityGroup的身影.所以,即使是过时的东西,也有学习的必要,当然项目中也是可以添加的.在网上找了一个博客 ...
 - DDD领域驱动设计
			
DDD领域驱动设计实践篇之如何提取模型 需求说明: 省级用户可以登记国家指标 省级用户和市级用户可以登记指标分解 登记国家指标时,需要录入以下数据:指标批次.文号.面积,这里省略其他数据,下同 登记指 ...
 - Array(数组)的使用
			
方法 说明 Concat() 连接2个或多个数组,并返回结果 Push() 向数组末尾添加一个或多个元素,并返回新的长度 Reverse() 颠倒数组中元素的顺序 Sort() 对数组的元素进行排序 ...
 - vstemplate关键点纪要
			
创建Visual studio项目模板 vstemplate关键点纪要 经过多次的实验,终于完美生成一个.VSIX的项目模板安装包,其中遇到不少问题与挫折,久经google/baidu/自行摸索.终于 ...
 - Apache + Tomcat +mod_jk 实现集群
			
实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window7 Javasdk: 1.7 Apache: 2.2.14 (本地安装路径:D:\Apache2 ...
 - win7 64位iis发生错误w3wp.exe解决方法
			
服务器为64的,遇到iis错误w3wp.exe 于是百度,网上说的修改iis权限和修改注册表都不行,后来在msdn上找到解决方法,如下所示 设置iis程序集如下即可
 - ASP.NET交互Rest服务接口(Jquery的Get与Post方式)
			
ASP.NET交互Rest服务接口(Jquery的Get与Post方式) 本文将通过一个简单的实例,介绍如何创建一个Rest服务接口,以及通过JQUERY去对它进行调用;主要采取两种方式分别为Get跟 ...