david2tdw / blog

学习记录
1 stars 1 forks source link

[JS] document.documentElement与document.body #200

Open david2tdw opened 3 years ago

david2tdw commented 3 years ago

document.documentElement与document.body

这两个属性主要是和html 的DTD有关

兼容性写法

    var top = document.documentElement.scrollTop || document.body.scrollTop;
    或
    var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;

漫谈document.documentElement与document.body

david2tdw commented 3 years ago
<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="utf-8" />
    <title>Javascript</title>
    <style>
      body {
        margin: 0;
        padding: 0;
        background: #ccc;
        font-size: 12px;
        overflow: auto;
      }
      .main {
        height: 900px;
        background-color: orange;
      }
    </style>
  </head>

  <body>
    <div class="main">

    </div>

    <script>
      window.onload = function () {
        window.addEventListener('scroll', function () {
          console.log(document.documentElement.scrollTop, document.body.scrollTop)
        })
      }
    </script>
  </body>
</html>
david2tdw commented 3 years ago

未声明DTD:

<!-- <!DOCTYPE html> -->
<html lang="zh-cn">
  <head>
    <meta charset="utf-8" />
    <title>Javascript</title>
    <style>
      body {
        margin: 0;
        padding: 0;
        background: #ccc;
        font-size: 12px;
        overflow: auto;
      }
      .main {
        height: 900px;
        background-color: orange;
      }
    </style>
  </head>

  <body>
    <div class="main">

    </div>

    <script>
      window.onload = function () {
        window.addEventListener('scroll', function () {
          console.log(document.documentElement.scrollTop, document.body.scrollTop)
        })
      }
    </script>
  </body>
</html>