JQuery页面随滚动条动态加载效果的简单实现(推荐)


Posted in Javascript onFebruary 08, 2017

Google阅读器上有一个AJAX scollLoad效果很不错,就是阅读项目时不需要翻页,浏览器滚动条往下拉到一定位置时自动加载新的一批项目进来,一直到所有项目加载完为止。要知道,数据量增加很频繁时,要通过定位页码来找到目标数据似乎并没有什么意义。我觉得用户体验成熟的WEB应用程序应当引导用户使用TAG或搜索等功能来找到目标数据。至于浏览数据,尤其是浏览最新的数据,利用浏览器滚动条来加载,是很好的尝试……

我试着用jquery来实现这个功能。先要得到滚动条的总长属性值:scrollHeight,还有滚动条当前位置属性值:scrollTop。然后通过计算,若当前值位于总长值三分之二时加载新数据。假设DOM上有一个元素为,该元素overflow样式为scroll,也就是元素中的内容溢出元素指定高度时启用滚动条。利用jquery的load方法为元素加载一个已经存在的文件,我假设它是table.html。这个文件的内容可以是足以使浏览器滚屏的一张数据表。

jquery.js“>// 加载jquery库

var hght=0;//初始化滚动条总长
var top=0;//初始化滚动条的当前位置
$(document).ready(function() {//DOM的onload事件
$(”#mypage”).load(”table.html”);//table.html的内容被加载到 mypage元素

$(”#mypage”).scroll( function() {//定义滚动条位置改变时触发的事件。
hght=this.scrollHeight;//得到滚动条总长,赋给hght变量
top=this.scrollTop;//得到滚动条当前值,赋给top变量
});
});

setInterval(”cando();”,2000);//每隔2秒钟调用一次cando函数来判断当前滚动条位置。

function cando(){
if(top>parseInt(hght/3)*2)//判断滚动条当前位置是否超过总长的2 /3,parseInt为取整函数
show();//如果是,调用show函数加载内容。
}

function show(){
$.get(”table.html”, function(data){//利用jquery的get方法得到table.html内容
$(”#mypage”).append(data);//用append方法追加内容到mypage元素。
hght=0;//恢复滚动条总长,因为$(”#mypage”).scroll事件一触发,又会得到新值,不恢复的话可能会造成判断错误而再次加载……
top=0;//原因同上。
});
}

为什么要隔2秒钟调用一次判断呢?因为只要$(”#mypage”).scroll事件一被触发,就会影hght和top值,这个值可能总是满足cando 函数的判断,也就是top值总是位于hght的三分之二。因此可能会多次加载造成服务器负担加重。而每加载一次后把hght和top值赋0,也是这个原因。

这段代码的效果就是只要元素mypage的滚动条位置位于滚动条总长的三分之二时,追加table.html的内容到元素mypage 中去。当然这样运行是无休止地加载下去。在真正的AJAX运用中,table.html可以换成asp或php脚本,接收get或post参数来进行处理,然后返回有意义的数据。jquery的get方法可以设置get方式的参数数据,

比如:

$.get(”test.php”, { name: “boho”, id: “1″ } );

相当于http://hostlocal/test.php?name=boho&id=1

这种形式的http访问。然后通过get方法的回调函数来获取test.php输出的内容:

$.get(”test.php”, {name:”boho”,id:”1″},function(data){
alert(”Data Loaded: ” + data);
});

以上这篇JQuery页面随滚动条动态加载效果的简单实现(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery创建一个ajax关键词数据搜索实现思路
Feb 26 Javascript
jquery实现用户信息修改验证输入方法汇总
Jul 18 Javascript
微信小程序 页面之间传参实例详解
Jan 13 Javascript
jQuery EasyUI 页面加载等待及页面等待层
Feb 06 Javascript
vue.js实现含搜索的多种复选框(附源码)
Mar 23 Javascript
详解用vue.js和laravel实现微信支付
Jun 23 Javascript
基于vue.js实现的分页
Mar 13 Javascript
详解es6超好用的语法糖Decorator
Aug 01 Javascript
在vue项目中优雅的使用SVG的方法实例详解
Dec 03 Javascript
js实现倒计时器自定义时间和暂停
Feb 25 Javascript
在Layui中实现开关按钮的效果实例
Sep 29 Javascript
React组件设计模式之组合组件应用实例分析
Apr 29 Javascript
setTimeout学习小结
Feb 08 #Javascript
jquery uploadify如何取消已上传成功文件
Feb 08 #Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 #Javascript
用move.js库实现百叶窗特效
Feb 08 #Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 #Javascript
Move.js入门
Feb 08 #Javascript
jquery ajaxfileupload异步上传插件使用详解
Feb 08 #Javascript
You might like
支持oicq头像的留言簿(二)
2006/10/09 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
2013/05/15 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
vue组件name的作用小结
2018/05/23 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
使用ThinkJs搭建微信中控服务的实现方法
2019/08/08 Javascript
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
Python如何根据时间序列数据作图
2020/05/12 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
小学数学教师研修感悟
2015/11/18 职场文书