一文彻底弄清楚元素的高度和距离属性

2020-12-04  本文已影响0人  桃花谷主V

元素的位置属性一直是很容易弄混淆的地方,各种高度宽度距离,每次使用的时候都需要各种查查查。今天就将相关属性做一个归类整理,通过画图以最直观的方式展现,也方便日后查阅。

client 相关属性

offset 相关属性

scroll 相关属性

拓展应用 - 滚动加载

示例:


scrollMore.png

代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>滚动加载</title>
    <style> .parent {
        width: 300px;
        height: 200px;
        margin: 100px auto;
        border: 1px solid #ccc;
        overflow-y: scroll;
        word-break: break-all;
      }</style>
  </head>
  <body>
    <div class="parent" id="target">
      <div class="child">
        gagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagds
      </div>
    </div>
    <script> let target = document.getElementById("target");
      target.addEventListener("scroll", function () {
        const clientHeight = target.clientHeight;
        const scrollTop = target.scrollTop;
        const scrollHeight = target.scrollHeight;
        if (clientHeight + scrollTop >= scrollHeight) {
          // 到底部了
          console.log("到底部了");
        }
      });</script>
  </body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读