iScroll的Demo实例

第一步: 引入iscroll-probe.js和jquery.min.js
第二步:html文档结构
        <div id="wrapper">
			<div id="scroller">
				<div id="pullDown" class="">
					<div class="pullDownLabel"></div>
				</div>
				<div class="pulldown-tips">下拉刷新</div>
				<ul id="list">
					<li>Pretty row 1</li>
					<li>Pretty row 2</li>
					<li>Pretty row 3</li>
					<li>Pretty row 4</li>
					<li>Pretty row 5</li>
					<li>Pretty row 6</li>
					<li>Pretty row 7</li>
					<li>Pretty row 8</li>
					<li>Pretty row 9</li>
					<li>Pretty row 10</li>
					<li>Pretty row 11</li>
					<li>Pretty row 12</li>
					<li>Pretty row 13</li>
					<li>Pretty row 14</li>
					<li>Pretty row 15</li>
					<li>Pretty row 16</li>
					<li>Pretty row 17</li>
					<li>Pretty row 18</li>
					<li>Pretty row 19</li>
					<li>Pretty row 20</li>
					<li>Pretty row 13</li>
					<li>Pretty row 14</li>
					<li>Pretty row 15</li>
					<li>Pretty row 16</li>
					<li>Pretty row 17</li>
					<li>Pretty row 18</li>
					<li>Pretty row 19</li>
					<li>Pretty row 20</li>
				</ul>
				<div id="pullUp" class="">
					<div class="pullUpLabel">加载更多</div>
				</div>
			</div>
		</div>
第三步:css样式
<style type="text/css">
			* {
				-webkit-box-sizing: border-box;
				-moz-box-sizing: border-box;
				box-sizing: border-box;
			}
			
			html {
				-ms-touch-action: none;
			}
			
			body,
			ul,
			li {
				padding: 0;
				margin: 0;
				border: 0;
			}
			
			body {
				font-size: 12px;
				font-family: ubuntu, helvetica, arial;
				overflow: hidden;
				/* this is important to prevent the whole page to bounce */
			}
			
			#header {
				position: absolute;
				z-index: 2;
				top: 0;
				left: 0;
				width: 100%;
				height: 45px;
				line-height: 45px;
				background: #CD235C;
				padding: 0;
				color: #eee;
				font-size: 20px;
				text-align: center;
				font-weight: bold;
			}
			
			#footer {
				position: absolute;
				z-index: 2;
				bottom: 0;
				left: 0;
				width: 100%;
				height: 48px;
				background: #444;
				padding: 0;
				border-top: 1px solid #444;
			}
			
			#wrapper {
				position: absolute;
				z-index: 1;
				top: 0;
				bottom: 0;
				left: 0;
				width: 100%;
				background: #fff;/*上拉下拉背景颜色*/
				overflow: hidden;
			}
			
			#scroller {
				position: absolute;
				z-index: 1;
				-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 ul {
				list-style: none;
				padding: 0;
				margin: 0;
				width: 100%;
				text-align: left;
			}
			
			#scroller li {
				padding: 0 10px;
				height: 40px;
				line-height: 40px;
				border-bottom: 1px solid #ccc;
				border-top: 1px solid #fff;
				background-color: #fafafa;
				font-size: 14px;
			}
			
			#pullDown,
			#pullUp,
			.pulldown-tips {
				height: 40px;
				line-height: 40px;
				text-align: center;
			}
			
			.pulldown-tips {
				position: absolute;
				top: -40px;
				left: 0;
				width: 100%;
			}
		</style>
第四步:js部分
function load() {
	var myScroll,
		pullDown = $("#pullDown"),
		pullUp = $("#pullUp"),
		pullDownLabel = $(".pullDownLabel"),
		pullUpLabel = $(".pullUpLabel"),
		container = $('#list'),
		loadingStep = 0; //加载状态0默认,1显示加载状态,2执行加载数据,只有当为0时才能再次加载,这是防止过快拉动刷新  

	pullDown.hide();
	pullUp.hide();

	myScroll = new IScroll("#wrapper", {
		scrollbars: true,
		mouseWheel: true,
		interactiveScrollbars: true,
		shrinkScrollbars: 'scale',
		fadeScrollbars: true,
		scrollY: true,
		probeType: 2,
		bindToWrapper: true
	});
	myScroll.on("scroll", function() {
		if(loadingStep == 0 && !pullDown.attr("class").match('refresh|loading') && !pullUp.attr("class").match('refresh')) {
			if(this.y > 40) { //下拉刷新操作  
				$(".pulldown-tips").hide();
				pullDown.addClass("refresh").show();
				pullDownLabel.text("松手刷新数据");
				loadingStep = 1;
				myScroll.refresh();
			} else if(this.y < (this.maxScrollY - 14)) { //上拉加载更多  
				pullUp.addClass("refresh").show();
				pullUpLabel.text("正在加载");
				loadingStep = 1;
				pullUpAction();
			}
		}
	});
	myScroll.on("scrollEnd", function() {
		if(loadingStep == 1) {
			if(pullDown.attr("class").match("refresh")) { //下拉刷新操作  
				pullDown.removeClass("refresh").addClass("loading");
				pullDownLabel.text("正在刷新");
				loadingStep = 2;
				pullDownAction();
			}
		}
	});
	/**
	 * 下拉加载事件
	 */
	function pullDownAction() {
		setTimeout(function() {
			var li, i;
			for(i = 0, li = ""; i < 3; i++) {
				li += "<li>" + "new Add " + new Date().toLocaleString() + " !" + "</li>";
			}
			container.prepend(li);
			pullDown.attr('class', '').hide();
			myScroll.refresh();
			loadingStep = 0;
			$(".pulldown-tips").show();
		}, 1000);
	}
	/**
	 * 上拉加载
	 */
	function pullUpAction() {
		setTimeout(function() {
			var li, i;
			for(i = 0, li = ""; i < 3; i++) {
				li += "<li>" + "new Add " + new Date().toLocaleString() + " !" + "</li>";
			}
			container.append(li);
			pullUp.attr('class', '').hide();
			myScroll.refresh();
			loadingStep = 0;
		}, 1000);
	}

	document.addEventListener('touchmove', function(e) {
		e.preventDefault();
	}, false);
}

效果图

       

    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值