- *{
- padding: 0px;
- margin: 0px;
- }
- div{
- width: 300px;
- height: 300px;
- overflow-y: scroll;
- padding: 10px;
- border: 10px solid red;
- }
- <div class="box">
- <p>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br></p>
- <p>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br></p>
- <p>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br></p>
- <p>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br></p>
- <p>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br>我是内容<br></p>
- </div>
滚动轮加载的第一种js方法:
//获取元素
var box = document.querySelector('.box');
//运用监听 滚动事件
box.addEventListener('scroll',function(){
//此相加必须放置内部,因为每执行一次便相加
var het=Math.ceil(box.scrollTop)+box.clientHeight;
if(het>=box.scrollHeight){
//内部创建及添加指定内容
var p = document.createElement('p');
p.innerHTML = '您好';
box.appendChild(p);
}
})
滚动轮加载的第二种js方法:
//获取元素
var box = document.querySelector('.box');
//运用监听 滚动事件
box.addEventListener('scroll', function() {
if (box.offsetHeight + box.scrollTop > 1000) {
alert('已经到底');
} else if (box.offsetHeight + box.scrollTop >= box.scrollHeight) {
var p = document.createElement('p');
p.innerHTML = '您好';
box.appendChild(p);
}
})
注:以上第二个方法的首个if语句中可以不适用aler,(提示:可以给出指定的p标签设置字体或者背景颜色,不用创建p标签,当大于1000时,直接显示,已经到底了,即可),如有粉丝不明,可以关注私信我,为您解答;
效果展示区:
1.offset系列 经常用于获得元素位置 offsetLeft offsetTop
2.client经常用于获取元素大小 clientWidth clientHeight
3.scroll 经常用于获取滚动距离 scrollTop scrollLeft
4.注意页面滚动的距离通过 window.pageXOffset 获得
核心原理:通过定时器 setInterval() 不断对容器进行处理。
注:以上归纳需要案例的朋友,点击关注,可以私信我哟!!!!