1. 首页
  2. 开发

jquery实现页面滚动动态加载

相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 

有手机的相信都见过这样的效果:进入qq空间,向下拉动空间,到底部时,会动态加载剩余的说说或者是日志 

今天我们就来看看他们的实现思路和js控制动态加载的代码
下面的代码主要是控制滚动条下拉时的加载事件的
在下面代码说明出,写上你的操作即可,无论是加载图片还是加载记录数据  都可以  
别忘了引用jquery类库,直接用bootstrap的cdn提供的资源吧。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script src="http://cdn.bootcss.com/jquery/2.1.0/jquery.min.js"></script>
<style type="text/css">
.newDiv { //
 background: green;
 text-indent: 2em;
 font-size: 12px;
 color: white;
 line-height: 17px;
}
</style>
<title>123</title>
<script>
 $(window).scroll(function () {
        var scrollTop = $(this).scrollTop();
        var scrollHeight = $(document).height();
        var windowHeight = $(this).height();
        if (scrollTop + windowHeight == scrollHeight) {
  
      //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
  
			var newDiv = document.createElement('img');
			//newDiv.innerHTML = "动态加的内容" + (i++);
			newDiv.className = 'newDiv';
			newDiv.title = '求真像,而不是整过的!!!' ;
			newDiv.width = 700;
			newDiv.src = "http://avatar.csdn.net/2/1/2/1_saindy5828.jpg";
			document.body.appendChild(newDiv);
        }
    });
 
</script>
</head>
<body onscroll="scroll(this);">
<div id="div1"
 style="overflow-y: auto; overflow-x: auto; height: 1400px; background: black; width: 400px;"
 >
<div style="height: 750px; width: 750px;"></div>
</div>
</body>
</html>

用法解析:

判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。

  • scrollTop为滚动条在Y轴上的滚动距离。
  • clientHeight为内容可视区域的高度。
  • scrollHeight为内容可视区域的高度加上溢出(滚动)的距离。

从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。(兼容不同的浏览器)。

收藏

暂无评论

登录后可以进行评论。没有账号?马上注册