All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL循序渐进(1)介绍SQL_[SQL,Server教程]
PHP结合MySQL初级网站编程教程_[PHP教程]
用PHP5的DirectoryIterators递归扫描目录_php资料_编程技术
ASP.NET实例:在vs2005中发送邮件的方法如下:_[Asp.Net教程]
SQL,Server,2008,R2官方上市日期出炉_mssql学习_编程技术
SQL,Server数据库查询优化50妙计_mssql学习_编程技术
在Win2003,R2上安装SQL,Server,2005(一)_mssql学习_编程技术
PHP实例:动态网页PHP+MYSQL如何插入记录到数据库_[PHP教程]
C#教程:C#数据类型之引用类型
ASP.net下大文件上传的解决方案及WebbUpload组件源码_[Asp.Net教程]
Reading number is top 10 pictures
到南昌西站了2
西游四格漫画(五)
福利福利。。。。。。
YangYuYing and ZhengShaoQiu dance on the generous come interest dye-in-the-wood
Summer is most suitable for young people to travel in China3
海底兵马俑
Absolutely shocked. National geographic 50 animal photographys4
影评-疯子,我爱你
大人物的礼物
清纯性感的美眉1
Download software ranking
apache-tomcat-6.0.33
《小姨子》英文版1
Eclipse-CALMSANNY (second edition)
Unix video tutorial5
jBuilder2006
变速齿轮3.26
Unix video tutorial14
asp.net技术内幕
《小姨子》英文版21
Unix video tutorial13
delv published in(发表于) 2019/6/25 21:19:36 Edit(编辑)
使用jQuery或者原生js实现鼠标滚动加载页面新数据

使用jQuery或者原生js实现鼠标滚动加载页面新数据

相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多,用鼠标操作的时候相信都见过这样的效果:进入qq空间,向下拉动空间,到底部时,会动态加载剩余的说说或者是日志 ,今天我们就来看看他们的实现思路和js控制动态加载的代码。

下面的代码主要是控制滚动条下拉时的加载事件的,无论是加载图片还是加载记录数据 都可以。

加载jQuery库后我们可以这样使用:

$(window).scroll(function() {
varscrollTop = $(this).scrollTop();
varscrollHeight = $(document).height();
varwindowHeight = $(this).height();
if(scrollTop + windowHeight == scrollHeight) {
//此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
//var page = Number($("#redgiftNextPage").attr('currentpage')) + 1;
//redgiftList(page);
//$("#redgiftNextPage").attr('currentpage', page + 1);
}
});

解析:

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

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

从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。

纯js我们可以这样做:

window.onscroll = function() {
varscrollTop = document.body.scrollTop;
varoffsetHeight = document.body.offsetHeight;
varscrollHeight = document.body.scrollHeight;
if(scrollTop == scrollHeight - offsetHeight) {
page++;
loadList(page);
}
};
functionloadList(page) {
page = page || 1;
if(isLoad) {
getJSON('/forum.php?mod=hot&page='+ page).then(function(data) {
if(data.code == 200) {
data = data.data;
if(data && Object.keys(data).length > 0) {
for(vark indata) {
varv = data[k];
detailTemplate = detailTemplate.cloneNode(true);
varuserInfoObj = detailTemplate.getElementsByClassName('user-info')[0];
userInfoObj.getElementsByClassName('name')[0].innerText = v.author;
userInfoObj.getElementsByClassName('avatar')[0].src = v.avatar;
userInfoObj.getElementsByClassName('post-time')[0].innerHTML = v.lastpost;
detailTemplate.getElementsByClassName('title')[0].innerText = v.subject;
detailTemplate.getElementsByClassName('desc')[0].innerText = v.subject;
varextInfoObj = detailTemplate.getElementsByClassName('ext-info')[0];
extInfoObj.getElementsByClassName('from')[0].innerText = v.fname;
extInfoObj.getElementsByClassName('view-time')[0].innerText = v.views;
postListObj.appendChild(detailTemplate);
}
} else{
isLoad = false;
}
} else{
isLoad = false;
}
}, function(status) {
console.log('Something went wrong, status is '+ status);
});
}
}




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.