JavaScript实现元素滚动条到达一定位置循环追加内容

 更新时间:2017年12月28日 08:49:48   作者:玉面灵狐  
下面小编就为大家分享一篇JavaScript实现元素滚动条到达一定位置循环追加内容,具有很好的参考价值,希望对大家有所帮助

如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
body{
background-color: #eee;
}
#contents{
margin:30px auto;
width: 960px;
height:300px;
overflow:auto; 
}
#list{
margin: 0;
padding: 0;
}
#list li{
color:#666;
list-style-type: none;
background-color: #ddd;
margin: 0;
margin-top:10px;
border-bottom: solid 1px #999;
text-align: center;
height:30px;
}
</style>
<script type="text/javascript">
//获取列表中的原有内容
window.onload=function(){
var contents=document.getElementById("list").innerHTML;
//每被调用一次,就将网页原有内容添加一份,这个大家可以写自己要加载的内容或指令
function appendcontent(){
document.getElementById("list").innerHTML+=contents;
}
document.getElementById("contents").onscroll=function(){
//content实际高度,
var contentscrollHeight=document.getElementById("contents").scrollHeight;
//contentclientHeight可视区高度,
var contentclientHeight=document.getElementById("contents").offsetHeight;
//滚动条距顶部高度
var contentscrollTop=document.getElementById("contents").scrollTop;
//通过判断滚动条的距离底部位置判断手否加载内容
var height=contentclientHeight+100;
if(contentscrollTop+height>=contentscrollHeight){
if(document.getElementById("list").childNodes.length>=150){
if(document.getElementById("nodata")){
}else{
var nodata=document.createElement("div");
nodata.id="nodata";
nodata.style.height="50px";
nodata.style.textAlign="center";
nodata.style.lineHeight="50px";
nodata.style.borderTop="1px solid #eee";
nodata.innerHTML="我是有底线的";
nodata.style.backgroundColor="#fff";
document.getElementById("list").appendChild(nodata);
}
console.log(document.getElementById("list").childNodes.length)
return;
}else{
appendcontent(); 
}
}
};
}
</script>
</head>
<body>
<div id="contents">
<ul id="list">
<li>张朋1</li>
<li>张朋2</li>
<li>张朋3</li>
<li>张朋4</li>
<li>张朋5</li>
<li>张朋6</li>
<li>张朋7</li>
<li>张朋8</li>
<li>张朋9</li>
<li>张朋10</li>
</ul>
</div>
</body>
</html>

以上这篇JavaScript实现元素滚动条到达一定位置循环追加内容就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • javascript实现简单小钢琴有声弹奏效果

    javascript实现简单小钢琴有声弹奏效果

    用HTML5+javascript实现的小钢琴,按下钢琴键上的相应字母用或用鼠标点击钢琴键发声,javascript代码包含了对鼠标按下、移动和松开,以及键盘按下的事件监听
    2024-02-02
  • JavaScript DOM事件(笔记)

    JavaScript DOM事件(笔记)

    这篇文章主要介绍了JavaScript DOM事件(笔记) ,需要的朋友可以参考下
    2015-04-04
  • JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】

    JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】

    这篇文章主要介绍了JS实现兼容各种浏览器的高级拖动方法,以完整实例形式分析了JS实现响应鼠标事件动态修改页面元素的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • JavaScript获取指定元素位置的方法

    JavaScript获取指定元素位置的方法

    这篇文章主要介绍了JavaScript获取指定元素位置的方法,实例分析了javascript中left、scrollLeft、top、scrollTop、offsetHeight等属性的使用技巧,需要的朋友可以参考下
    2015-04-04
  • 如何基于viewport vm适配移动端页面

    如何基于viewport vm适配移动端页面

    这篇文章主要介绍了如何基于viewport vm适配移动端页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)

    js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)

    这篇文章主要介绍了js实现的鼠标滚轮滚动切换页面效果,类似360默认页面滚动切换效果.涉及JavaScript响应鼠标事件动态变换页面元素的相关技巧,需要的朋友可以参考下
    2016-01-01
  • layui radio单选限制下一个radio单选的实例

    layui radio单选限制下一个radio单选的实例

    今天小编就为大家分享一篇layui radio单选限制下一个radio单选的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS正则表达式修饰符global(/g)用法分析

    JS正则表达式修饰符global(/g)用法分析

    这篇文章主要介绍了JS正则表达式修饰符global(/g)用法,结合实例形式分析了JS全局匹配修饰符/g的功能、使用方法与相关注意事项,需要的朋友可以参考下
    2016-12-12
  • 微信小程序上线发布具体流程简析

    微信小程序上线发布具体流程简析

    众所周知,微信小程序制作成功后,是需要提交到微信公众平台去审核的,审核通过后,才可以发布上线的,上线了之后才可以进行运营的,下面这篇文章主要给大家介绍了关于微信小程序上线发布具体流程的相关资料,需要的朋友可以参考下
    2022-10-10
  • 一览画面点击复选框后获取多个id值的方法

    一览画面点击复选框后获取多个id值的方法

    这篇文章主要介绍了在一览画面点击复选框后获取多个id值的方法,前台采用js技术后台采用java技术实现的,逻辑清晰,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-05-05

最新评论