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

  $(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获取页面高度和窗口高度

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

原文地址:https://www.cnblogs.com/lunawzh/p/6550895.html