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

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

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

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

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

$(window).scroll(function () {
var scrollTop = $(this).scrollTop();
var scrollHeight = $(document).height();
var windowHeight = $(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() {
var scrollTop = document.body.scrollTop;
var offsetHeight = document.body.offsetHeight;
var scrollHeight = document.body.scrollHeight;
if (scrollTop == scrollHeight – offsetHeight) {
page ;
loadList(page);
}
};

function loadList(page) {
page = page || 1;

if (isLoad) {
getJSON(/forum.php?mod=hot

© 版权声明

相关文章

暂无评论

none
暂无评论...