• 窗口尺寸,文档高,元素宽高的获取方式


    一.元素宽高:

    window.onload = function() {
        var oDiv = document.getElementById('div1');
        /*
            width height
            style.width : 样式宽
            clientWidth : 可视区宽
            offsetWidth    : 占位宽
        */   
        alert( oDiv.style.width );    //100
        alert( oDiv.clientWidth );    //样式宽 + padding    120
        alert( oDiv.offsetWidth );    //样式宽 + padding + border  可视区宽 + 边框    122   
    }

    <body>
        <div id="div1" style=" 100px; height: 100px; border: 1px solid red; padding: 10px; margin: 10px;"></div>
    </body>

    二.窗口尺寸

    1.可视区尺寸
       alert( document.documentElement.clientHeight );

    2.滚动距离
          document.documentElement.scrollTop;     // firefox,IE下的,此方式在chrome下始终为0
          document.body.scrollTop ;                         // chorme下的
          var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;   //使用时做兼容性处理
          alert(scrollTop)

    3.offsetLeft[Top]

      元素.offsetLeft[Top] : 只读 属性 当前元素到定位父级的距离(偏移值)
                到当前元素的offsetParent的距离


                如果没有定位父级
                    offsetParent -> body
                    offsetLeft -> html
                
                如果有定位父级
                    ie7以下:如果自己没有定位,那么offsetLeft[Top]是到body的距离
                            如果自己有定位,那么就是到定位父级的距离
                    其他:到定位父级的距离

    4.scrollHeight

        scrollHeight : 内容实际宽高

       <body style="height:2000px;">
            <div id="div1" style="100px;height:100px;border: 1px solid red; overflow: -auto; padding: 10px;">
                <div style="height: 600px; 90px; background: red;"></div>
            </div>
       </body>

       alert(oDiv.scrollHeight);

    三.文档高

      offsetHeight
         alert( document.body.offsetHeight );


         ie : 如果内容没有可视区高,那么文档高就是可视区
         alert( document.documentElement.offsetHeight );

    四.clientX[Y]

      clientX[Y] : 当一个事件发生的时候,鼠标到页面可视区的距离

      function fn1(ev) {
          var ev = ev || event;
          alert(ev.clientX);
      }
      document.onclick = fn1;

      分享技术,分享快乐!

  • 相关阅读:
    进度条简单实现
    bootstrap学习(二)-----Modal模态框
    PL/SQL Developer登入时候报ORA-12638: 身份证明检索失败的解决办法
    pdf.js在IIS中配置使用笔记
    JSON数据查询方法
    Visual Studio 2013 错误提示“未找到与约束匹配”的修正
    WebStorm 11激活方法
    Xamarin开发Android笔记:使用ZXing进行连续扫描
    Xamarin开发IOS笔记:切换输入法时输入框被遮住
    Xamarin开发Android笔记:拍照或相册选取图片角度问题
  • 原文地址:https://www.cnblogs.com/babywin/p/6246547.html
Copyright © 2020-2023  润新知