拖动滚动条实现网页内容自动加载代码实例

我心飞翔 分类:实例代码

本章节分享一段代码实例,它实现了向下拖动滚动条,能够自动加载网页内容的功能。

这种效果在很多网站都有应用,当然它们加载的内容都是从数据库读取的,下面的演示自然不能从数据库读取内容,不过原理大致如此,实际应用的时候只要和后台人员配合一下就可以实现了。

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<style>
#antzone{
  border:1px solid tomato;
  margin-top:20px;
  color:#ac1;
  height:800
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  var range = 50;
  var elemt = 500;
  var maxnum = 20;
  var num = 1;
  var totalheight = 0;
  var main = $("#content");
  $(window).scroll(function(){
    var srollPos = $(window).scrollTop();
    totalheight = parseFloat($(window).height()) + parseFloat(srollPos);
    if(($(document).height()-range) <= totalheight  && num != maxnum) {
      main.append("<div style='border:1px solid tomato;margin-top:20px;color:#ac"
      +(num%20)+(num%20)+";height:"+elemt+"px' >hello world"+srollPos+"---"+num+"</div>");
      num++;
    }
  });
});
</script>
</head>
<body>
<div id="content" style="height:960px">
  <div id="follow">页面下拉自动加载内容</div>
  <div id="antzone">前端教程网欢迎您</div>
</div>
</body>
</html>

上面的代码实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).$(document).ready(function(){}),当文档结构完全加载完毕再去执行函数中的代码。

(2).var range = 50,规定距离下边界还有多少距离就要加载内容。

(3).var elemt = 500,插入元素的高度。

(4).var maxnum = 20,最多可以加载的数目。

(5).var num = 1,声明一个变量并赋初值为1,用来表示加载元素的次序。

(6).var totalheight = 0,后面会用到,用来存储一个高度。

(7).var main = $("#content"),获取指定的元素jquery对象。

(8).$(window).scroll(function(){}),为window对象注册scroll事件处理函数。

(9).var srollPos = $(window).scrollTop(),获取浏览器向上滚动的尺寸。

(10).totalheight = parseFloat($(window).height()) + parseFloat(srollPos),获取客户浏览器客户区高度和向上滚动的高度之和。

(11).if(($(document).height()-range) <= totalheight  && num != maxnum),判断浏览器距离地段是不是小于等于range,并且没有达到最大数目,那么就执行添加元素的操作。

二.相关阅读:

(1).scroll事件可以参阅jQuery scroll 事件一章节。

(2).scrollTop()方法可以参阅jQuery scrollTop()一章节。

(3).parseFloat()方法可以参阅javascript parseFloat()一章节。

(4).append()方法可以参阅jQuery append()一章节。

回复

我来回复
  • 暂无回复内容