鱼C论坛

 找回密码
 立即注册
查看: 1364|回复: 1

[庖丁解牛] 0 1 0 6 - 纯真版“页面监听” | 【裸体版94】

[复制链接]
发表于 2017-5-16 07:18:37 | 显示全部楼层 |阅读模式
购买主题 已有 3 人购买  本主题需向作者支付 3 鱼币 才能浏览

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 12:24:49 | 显示全部楼层
老师在Chrome浏览器中按照您的代码会导致document.body.scrollTop的console值为0;
查了资料发现是DTD的问题。

页面指定了DTD,即指定了DOCTYPE时,使用document.documentElement.scrollTop。

页面没有DTD,即没指定DOCTYPE时,使用document.body.scrollTop。

后来又查了查 才知道原来ie狐火都是documentElement, 只有谷歌的是body 但是后来谷歌也改了

所以这么写

document.body.scrollTop + document.documentElement.scrollTop;

(以上均是从CSDN查询得出,下面是代码块)
  1. <!Doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <title>根据页面滚动位置显示浮动框</title>
  6.     <style type="text/css">
  7.         body{
  8.             height: 2222px;
  9.         }
  10.         #toTop{
  11.         position: fixed;
  12.             bottom: 100px;
  13.             left: 0;
  14.             display: none;
  15.         }
  16.     </style>
  17. </head>
  18. <body>
  19. <h1>我是页面顶端</h1>
  20. <div id="toTop">
  21.     <a href="#">返回顶部</a>
  22. </div>
  23. <script>
  24.     var toTop=document.getElementById("toTop");
  25.     window.onscroll=function () {
  26.         //获得鼠标移动距离坐标

  27.         console.log(document.body.scrollTop + document.documentElement.scrollTop);


  28.         //当页面滚动距离超过500触发,滚动距离可参考上方注释内容
  29.         if (document.body.scrollTop + document.documentElement.scrollTop>500)
  30.         {toTop.style.display="block";}
  31.         else
  32.         {toTop.style.display="none";}
  33.     };
  34. </script>
  35. </body>
  36. </html>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 15:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表