下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。内存溢出小编现在分享给大家,也给大家做个参考。
最近要新写一个手机项目,感觉上面不是用得很舒服,然后就新写了一个,改动不是很大。
判断到底部
$(window).scroll(function () {
if ($(document).scrolltop() + $(window).height() >= $(document).height()) {
alert("哦哦,到底了.");
}
});
如果要实现拉到底部自动加载内容。只要注册个滚动条事件:
首先,我们拉动滚动条,从最上面拉到最下面,变化的是 scrolltop 的值,而这个值是有一个区间的。这个区间是: [0,(offsetHeight – clIEntHeight)]即,滚动条拉动的整个过程的变化在 0 到 (offsetHeight – clIEntHeight) 范围之内。
1、判断滚动条滚动到最底端: scrolltop == (offsetHeight – clIEntHeight)
2、在滚动条距离底端 50px 以内: (offsetHeight – clIEntHeight) – scrolltop = 0.95
scrollBottomTest =function(){
$("#contain").scroll(function(){
var $this =$(this),
vIEwH =$(this).height(),//可见高度
contentH =$(this).get(0).scrollHeight,//内容高度
scrolltop =$(this).scrolltop();//滚动高度
//if(contentH - vIEwH - scrolltop < = 100) { //到达底部100px时,加载新内容
if(scrolltop/(contentH -vIEwH)>=0.95){ //到达底部100px时,加载新内容
// 这里加载数据..
}
});
}
判断垂直滚动条是否到达底部理清了以上的概念,编码其实就比较简单了, 以下是示例代码:
<script src="http://AJAX.aspnetcdn.com/AJAX/jquery/jquery-1.4.2.min.Js"></script>
<script language="JavaScript">
$(document).ready(function (){
var nScrollHight = 0; //滚动距离总长(注意不是滚动条的长度)
var nScrolltop = 0; //滚动到的当前位置
var ndivHight = $("#div1").height();
$("#div1").scroll(function(){
nScrollHight = $(this)[0].scrollHeight;
nScrolltop = $(this)[0].scrolltop;
if(nScrolltop + ndivHight >= nScrollHight)
alert("滚动条到底部了");
});
});
</script>
<body>
<div ID="div1" >
<div >IE 和 FF 下测试通过</div>
</div>
</body>
内部 div 高度为 750,外部 div 高度为 500,所以垂直滚动条需要滚动 750-500=250 的距离,就会到达底部,参见语句nScrolltop + ndivHight >= nScrollHight。程序中,在外部 div 的 scroll(滚动)事件中侦测和执行 if 判断语句,是非常消耗 cpu 资源的。用鼠标拖拉滚动条,只要有一个像素的变动就会触发该事件。但点击滚动条两头的箭头,事件触发的频率会低得多,所以滚动条的 scroll 事件要谨慎使用。
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的Jquery实现页面下拉滚动加载内容全部内容,希望文章能够帮你解决Jquery实现页面下拉滚动加载内容所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)