一次性处理100000条数据思路(自己总结)

本文介绍了一种利用监听防抖技术实现在滚动到底部时加载更多内容的分页方法。通过监听滚动事件并应用防抖策略,优化了页面性能。当滚动到底部时,动态添加新的内容行,实现了无限滚动的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有不对的希望大家多多指教,哈哈哈

思路:

采用 监听防抖监听拉条的位置+自己实现分页的思路来实现的 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div class="one" id="more"></div>
		<script src="jquery-1.12.2.js"></script>
		<script>
			let page=1,limit=200,list=100000;
			$(function(){
				add()
			})
			window.onscroll = debounce(showTop,300) 
			function debounce(fn,delay){
			    let timer = null //借助闭包
			    return function() {
			        if(timer){
			            clearTimeout(timer) 
			        }
			        timer = setTimeout(fn,delay) // 简化写法
			    }
			}
			function showTop() {
			    // 变量 scrollHeight 是滚动条的总高度
			    let scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight
			    // 变量 windowHeight 是可视区的高度
			    let windowHeight = document.documentElement.clientHeight || document.body.clientHeight
			    // 变量scrollTop为当前页面的滚动条纵坐标位置
			    let scrollTop = document.documentElement.scrollTop || document.body.scrollTop
			    // 滚动条到底部得距离 = 滚动条的总高度 - 可视区的高度 - 当前页面的滚动条纵坐标位置
			    var scrollBottom = scrollHeight - windowHeight - scrollTop
			    console.log(scrollBottom,'scrollBottom')   
				if(scrollBottom==0){
					page+=1;
					add()
				}		
			}
			function add(){
				console.log(page) 
				let num=(page-1)*200
				for (let i = num; i < page*limit; i++) {
					$('#more').append('<div>我是第'+i+'行</div>')
				}
			}
		</script>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值