zoukankan      html  css  js  c++  java
  • 浏览器对body节点scrollTop解析的差异

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <style type="text/css">
    .box{border:1px solid pink; background:#eee; height:200px;}
    .box:hover{background:cyan;}
    .bg-pink{background:pink;}
    .h800{height:800px;}
    .brd2g{border:2px solid green;}
    .over-a{overflow:auto;}
    body{ behavior:url(csshover.htc);}
    </style>
    <script type="text/javascript" src="jquery1.10min.js"></script>
    </head>
    <body>
    <div class="box"></div>
    
    <hr />
    <div class="box over-a" id="wrap">
        <div class="brd2g h800 bg-pink" id="con">水电费电费都水电费电费</div>
    </div>
    <div class="h800 brd2g">very high</div>
    <script>
    var body = document.body;
    var html = document.documentElement;
    window.scrollTo(0, 400);
    console.log('html.scrollHeight = ' + html.scrollHeight );
    console.log('html.clientHeight = ' + html.clientHeight );
    console.log('html.scrollTop = ' + html.scrollTop );
    console.log('body.scrollHeight = ' + body.scrollHeight );
    console.log('body.clientHeight = ' + body.clientHeight );
    console.log('body.scrollTop = ' + body.scrollTop );
    </script>
    </body>
    </html>

    chrome:

    html.scrollHeight = 1242
    html.clientHeight = 278
    html.scrollTop = 0
    body.scrollHeight = 1242
    body.clientHeight = 1226
    body.scrollTop = 400

    ~~~scrollHeight>clientHeight  滚动条属于html元素的,但是html.scrollTop却为0,scrollTop被认为是body元素的,这里有点不合理,scrollTop一般都是带滚动条元素才有的

    ie8:

    html.scrollHeight = 1242
    html.clientHeight = 254
    html.scrollTop = 400
    body.scrollHeight = 1226
    body.clientHeight = 1226
    body.scrollTop = 0

    ~~~scrollHeight>clientHeight  滚动条属于html元素的,html.scrollTop正常

    firefox:

    html.scrollHeight = 1242
    html.clientHeight = 294
    html.scrollTop = 400
    body.scrollHeight = 1226
    body.clientHeight = 1226
    body.scrollTop = 0

    ~~~scrollHeight>clientHeight  滚动条属于html元素的,html.scrollTop正常

    ~~~注意 chrome下 html元素scrollTop始终为0, 页面的滚动高度从 body.scrolltop获得

  • 相关阅读:
    【Programming Clip】位运算的应用
    【Linux实用技术】LFS6.3构建实录
    【嵌入式开发技术之环境配置】Ubuntu下 TFTP服务的配置
    IIS上注册.Net
    C#高效分页代码(不用存储过程)
    OpenDataSOurce 指定参数
    存储过程中while循环
    SQL语句中的判断(条件语句)
    C#.NET支付宝接口
    局域网共享访问要密码 局域网访问需要密码 访问网上邻居需要密码 局域网不能共享 windows xp共享
  • 原文地址:https://www.cnblogs.com/stephenykk/p/3670890.html
Copyright © 2011-2022 走看看