$(window).scroll(function () { var windowH = $(window).height();//取可视窗口的高度 var divTop = $("#wzh").get(0).getBoundingClientRect().top;//取元素到浏览器顶部高度 if (ch <= h) { $("#wzh").animate({'left':"500px"}, 3000); } });
以前代码是当网页滚动显示出id是wzh的div时,此时才加载此div的动画效果
$(document).scrollTop() 获取垂直滚动的距离 即当前滚动的地方的窗口顶端到整个页面顶端的距离
$(document).scrollLeft() 这是获取水平滚动条的距离
看明白了吗??
你要获取顶端 只需要获取到scrollTop()==0的时候 就是顶端了
要获取底端 只要获取scrollTop()>=$(document).height()-$(window).height() 就可以知道已经滚动到底端了
$(document).height() //是获取整个页面的高度
$(window).height() //是获取当前 也就是你浏览器所能看到的页面的那部分的高度 这个大小在你缩放浏览器窗口大小时 会改变 与document是不一样的 根据英文应该也能理解吧
其实你可以自己做个实验就知道了
$(document).scroll(function(){
$("#lb").text($(document).scrollTop());
})
<span id="lb" style="top:100px;left:100px;position:fixed;"></span><!--一个固定的span标记 滚动时方便查看-->
下面看看这个代码
$(window).scroll(function () { var documentH = $(document).height();//网页的高度 var scrollTop = $(window).scrollTop();//滚动条的高度 var scrolladdwindowH = scrollTop + $(window).height(); if (scrollTop == 0) { alert("到顶部了"); } if (scrolladdwindowH >= documentH) { alert("到底部了"); } });
如果是一个DIV区域滚动,判断 div滚动到顶和底的情况,代码如下 ;
<script src="js/jquery-1.9.1.min.js"></script> <style> #wzh{ 400px; height:500px; background:#eee; margin:0 auto; overflow-y:scroll; } </style> </head> <body> <div id="wzh"> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> </div> <script> $("#wzh").scroll(function () { var divH = $("#wzh").height();//网页的高度 var scrTop = $("#wzh").scrollTop();//滚动条的高度 var wholeDivH = $("#wzh").get(0).scrollHeight; if (scrTop == 0) { alert("到顶部了"); } if (divH + scrTop >= wholeDivH) { alert("到底部了"); } }); </script> </body> </html>
jquery获取文档高度和窗口高度,$(document).height()、$(window).height()
$(document).height():整个网页的文档高度
$(window).height():浏览器可视窗口的高度
$(window).scrollTop():浏览器可视窗口顶端距离网页顶端的高度(垂直偏移)
$(document.body).height();//浏览器当前窗口文档body的高度
$(document.body).outerHeight(true);//浏览器当前窗口文档body的总高度 包括border padding margin
$(window).width(); //浏览器当前窗口可视区域宽度
$(document).width();//浏览器当前窗口文档对象宽度
$(document.body).width();//浏览器当前窗口文档body的高度
$(document.body).outerWidth(true);//浏览器当前窗口文档body的总宽度 包括border padding margin
用一句话理解就是:当网页滚动条拉到最低端时,$(document).height() == $(window).height() + $(window).scrollTop()。
当网页高度不足浏览器窗口时$(document).height()返回的是$(window).height()。
不建议使用$("html").height()、$("body").height()这样的高度。
原因:
$("body").height():body可能会有边框,获取的高度会比$(document).height()小;
$("html").height():在不同的浏览器上获取的高度的意义会有差异,说白了就是浏览器不兼容。
$(window).height()值有问题,返回的不是浏览器窗口的高度?
原因:网页没有加上<!DOCTYPE>声明。
懒人建站整理js获取页面高度和窗口高度
实际应用:设置内容区域合适的高度