问题描述
- #前端#一次性请求数据,然后滚动加载
-
#前端#如果页面数据是一次性全部加载进来,但是只在页面上显示8条,我要滚动加载显示后面的数据,如何做,或是有什么思路
解决方案
已解决:
$(window).scroll(function(){
//当滚动到底部的时候,判断是否有8条数据,如果大于8条则显示前8条;如果小于8条,则全显示
var scrollTop = $(this).scrollTop();
var scrollHeight = $(document).height();
var windowHeight = $(this).height();
if(scrollTop + windowHeight == scrollHeight){//滚动到底部
pageIndex++;
var len=$("li.hide").length;
//判断是否有8条数据
if(len<=8){//如果小于等于8条,则全显示
$("li.scrollItem").each(function(){
$("li.scrollItem").removeClass("hide");
});
if(len==0){
$("#navigation").text("T_T没有新数据了...");
$("#navigation").css("border","0");
}
}else if(len>8) {//大于8条
//显示8条
$("li.hide:lt(8)").removeClass("hide");
}
}
});
解决方案二:
页面上面加载的所有数据都加载到页面上去,然后初始化的时候把前8条显示出来,后面的都hide,
页面滚动条滚动到最下面的时候触发一个事件,让pageIndex加一,这样的话就把2乘8条数据显示出来,后面的以此类推。
解决方案三:
那不是和分页一样,多余的先隐藏,然后用全局变量i记录显示的页数,滚动到页低就i++,然后显示i*page条数据
时间: 2025-01-06 03:03:03