鱼C论坛

 找回密码
 立即注册
查看: 1432|回复: 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查询得出,下面是代码块)
<!Doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>根据页面滚动位置显示浮动框</title>
    <style type="text/css">
        body{
            height: 2222px;
        }
        #toTop{
        position: fixed;
            bottom: 100px;
            left: 0;
            display: none;
        }
    </style>
</head>
<body>
<h1>我是页面顶端</h1>
<div id="toTop">
    <a href="#">返回顶部</a>
</div>
<script>
    var toTop=document.getElementById("toTop");
    window.onscroll=function () {
        //获得鼠标移动距离坐标

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


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-1 18:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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