• 网页移动到一个高度后加载网页元素【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获取页面高度和窗口高度

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

  • 相关阅读:
    git
    Django RestFramework
    vuex以及axios
    npm 、webpack 、 vue-cli
    vue的生命周期
    vue-router
    vue框架 (小清单)
    nodejs review-01
    npm-bluebird使用
    js整理4
  • 原文地址:https://www.cnblogs.com/lunawzh/p/6550895.html
Copyright © 2020-2023  润新知