网页移动到一个高度后加载网页元素【getBoundingClientRect好用】

时间:2022-11-23 16:57:09
  $(window).scroll(function () {
var windowH = $(window).height();//取可视窗口的高度
var divTop = $("#wzh").get().getBoundingClientRect().top;//取元素到浏览器顶部高度
if (ch <= h) {
$("#wzh").animate({'left':"500px"}, );
}
});

以前代码是当网页滚动显示出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 == ) {
alert("到顶部了");
}
if (scrolladdwindowH >= documentH) {
alert("到底部了");
}
});

如果是一个DIV区域滚动,判断 div滚动到顶和底的情况,代码如下 ;

    <script src="js/jquery-1.9.1.min.js"></script>
<style>
#wzh{
width:400px;
height:500px;
background:#eee;
margin: 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().scrollHeight;
if (scrTop == ) {
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获取页面高度和窗口高度

实际应用:设置内容区域合适的高度