• 五、Javascript 空间坐标[尺寸、滑动]


    一、尺寸

    1.视窗尺寸

    • document.documentElement.clientWidth:视窗宽度
    • document.documentElement.clientHeight:视窗高度

    2.各种尺寸

    举例:

    前提:var a = document.getElementById('gao')

    内容解释
    a.offsetWidtha元素宽度(包含内容和padding值和border值)
    a.offsetHeighta元素高度(包含内容和padding值和border值)
    a.offsetLefta元素盒子边距距离父元素边界值(左边)
    a.offsetTopa元素盒子边距距离父元素边界值(上边)
    内容解释
    a.clientWidtha元素宽度(包含内容和padding值)
    a.clientHeighta元素高度(包含内容和padding值)
    a.clientLefta元素(包含内容和padding值)距离外部边界值(左边)(一般就是border值)
    a.clientTopa元素(包含内容和padding值)距离外部边界值(上边)(一般就是border值)
    内容解释
    a.scrollWidtha元素宽度(包含内容和padding值和溢出值(例如子元素尺寸超出父元素))
    a.scrollHeighta元素高度(包含内容和padding值和溢出值(例如子元素尺寸超出父元素)
    document.documentElement.scrollLeft滑动条距离视窗左边的距离
    document.documentElement.scrollTop滑动条距离视窗顶部的距离

    在这里插入图片描述

    二、滑动

    1.连续滑动

    解释:配合setInterval使用,能够每次向下滑行一点,一直滑动

    格式:element.scrollBy()//其会在每次的基础上再向下滑动一次,其相当于“相对定位”

    参数:behavior:smooth 为平滑滚动

    <style>
      body {
        height: 1500px;
      }
    </style>
    <script>
    setInterval(() => {
        document.documentElement.scrollBy({ top: 10, behavior: 'smooth' })//还可以设置left值
      }, 100)
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.一次滑动

    解释:一次性滑动目标位置
    格式:element.scrollTo()//其一次滑倒设定的值的位置,其相当于“绝对定位”
    参数:behavior:smooth 为平滑滚动

    <style>
      body {
        height: 1500px;
      }
    </style>
    <script>
      setTimeout(() => {
        document.documentElement.scroll({ top: 200, behavior: 'smooth' })//还可以设置left值
      }, 1500)
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3.顶部或底部滑动

    解释:element.scrollIntoView()//其只能设置block值,end表示结尾,start表示开始

    参数:behavior:smooth 为平滑滚动

    <style>
        body {
          height: 1500px;
        }
      </style>
    <style>
        body {
          height: 1500px;
        }
      </style>
      <button onclick="a()">000</button>
      <script>
        function a(){
            document.documentElement.scrollIntoView({ block: 'end', behavior: 'smooth' })
        }
      </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    Java面试题(每天10题)-------连载(34)
    分享那些让你苦笑不得的Bug经历
    linux rm 删除找回的几种方法 工具介绍3之testdisk以及Photorec xfs文件系统格式的
    【老生谈算法】matlab实现LEACH 算法——LEACH 算法
    分布式与一致性协议之PBFT算法(一)
    Flink中的时间和窗口 完整使用 (第六章)
    CTO:我不建议你在 Docker 中跑 MySQL
    2023Web前端开发面试手册
    【面试题】如何去掉vue的url地址中的#号?及其原理?
    可拓展的低代码全栈框架
  • 原文地址:https://blog.csdn.net/weixin_46765649/article/details/127814150