下拉滚动条时自动加载所需数据

今天研究了一下新浪微博滚动加载的功能, 自己也根据需要做了一个简易版的滚动加载功能, 本来想把它改成jquery插件版本的, 由于时间仓促, 暂时先贴这个简易版的, 以后优化成插件版本时再贴相关代码.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv="Content-Language" content="zh-CN" />
	<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
	<style type="text/css">
		body {
			
		}
		
		blockquote {
			height: 1000px;
		}

		.data {
			width: 800px;
			height: auto;
			border: 1px solid red;
			line-height: 25px;
			text-align: left;
			margin: 20px;
			padding: 10px;
		}
	</style>
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script>
	<script type="text/javascript">
		$(function(){
			var tmp = 0,	//通过tmp与scrollTop的比较来判断滚动条的方向
				main = $('.main'),
				num = 1,
				flag = true;

			$(window).scroll(function(){
				var scrollHeight = 0,
					scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
					clientHeight = document.documentElement.clientHeight || document.body.clientHeight,
					obj = $('.main>.data');
				
				if($.browser.msie){
					scrollHeight = document.body.scrollHeight;
				}else{
					scrollHeight = document.documentElement.scrollHeight;
				}
				
				if(tmp < scrollTop && scrollHeight <= scrollTop + clientHeight && num <= 10 && flag){
					var temp = num;

					main.append('<div id="loadMore"><img src="loading.gif" />正在加载,请稍候...</div>');
					flag = false;

					$.get('data.html', {
					
					}, function(result){
						if(result){								
							$('#loadMore').remove();
							main.append(temp + result);
							temp == 10 && main.append('<div id="pagebar">分页</div>');
							flag = true;
						}
					});
					num ++;					
				}
				
				tmp = scrollTop;
			});
		});
    </script>
</head>
<body>
	<blockquote></blockquote>
	<div class="main">
		
	</div>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值