美文网首页
BOM-scroll系列

BOM-scroll系列

作者: GoFzy | 来源:发表于2019-03-17 17:25 被阅读0次

一、scrollWidth与scrollHeight

  当标签内容大于标签高宽时:内容实际的高宽(不包括边框)
  如果标签中内容为空或者内容高宽小于标签高宽: srcollWidth = offsetWidth - border;

二、scrollTop与scrollLeft

  scrollTop:对象向上卷曲出去的距离
  scrollLeft:对象向左卷曲出去的距离
  使用一个小案例来说明scrollTop的作用,代码如下。当滑动#dv对象时,浏览器就可以利用scrollTop属性显示#dv对象滑动距离:

<!DOCTYPE html>
<html>
    <head>
        <title>实时获取scroll值</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            #dv {
                width: 200px;
                height: 200px;
                border: 1px solid red;
                overflow: auto;
            }
        </style>
    </head>
    <body>
        <button id="btn">scroll</button>
        <div id="dv">1111111111
            111111111111
            111111111111111
            1111111111111
            1111111111111
            11111111111111
            11111111111
            111111111111
            1111111111111
            111111111111
            1111111111111
        </div>
    </body>
    <script>
        function my$(id){
            return document.getElementById(id);
        }
        my$('dv').onscroll = function(){
            console.log(this.scrollTop);
        }
    </script>
</html>
srcoll案例
  在计算整个页面的滑动距离时scrollTop与scrollLeft的兼容问题
  IE
    对于没有doctype声明的页面,使用 document.body.scrollTop 或 document.documentElement.scrollTop;
    对于有doctype声明的页面,则使用 document.documentElement.scrollTop;
  Chrome、Firefox
    对于没有doctype声明的页面,使用 document.body.scrollTop 来获取 scrollTop高度 ;
    对于有doctype声明的页面,则使用 document.documentElement.scrollTop;
  Safari:
    safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ;
  因此,为了兼容所有浏览器,封装一个函数,去获取页面向上卷曲出去的距离和向左卷曲出去的距离
function getScroll(){
  return {
    left:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0,
    top:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0
  }
}

相关文章

  • BOM-scroll系列

    一、scrollWidth与scrollHeight   当标签内容大于标签高宽时:内容实际的高宽(不包括边框) ...

  • 亲手做过的美食们

    早餐系列一 系列二 午餐系列一 系列二 系列三....

  • 包包

    小清新学院风系列 古风系列 黑色系列 粉色系列 白色系列 可爱系列 学院风系列 双肩包系列

  • 2018我的彩铅

    多肉植物系列 美食系列 动物系列 美发系列 人物系列 其他

  • 有趣的图

    浣熊系列 猫系列 小猫与纸窗帘系列 迷人的狗狗系列 人物系列 仙女系列 娃娃与鸽子树系列 陌生的动物系列 南风包包...

  • 文章系列初稿

    育儿系列 家庭主妇系列 职场观察系列 小说系列 生活感悟情感系列 美图系列 读书读后感及总结系列 婆媳关系系列 专...

  • 鞋子2

    黑色系列 粉色系列 卡其色系列 白色系列 黑色系列 杏色系列 其他色系

  • 写作自检清单

    博客搭建系列Markdown教程Git教程系列基础教学系列linux 命令教学系列配置系列太基础教程系列广告系列诸...

  • 淑女系列

    冬装系列 毛呢大衣系列 短外套系列,秋 夏装系列

  • linux符号整理-正则整理

    引号符号系列: 重定向符号系列: 特殊符号系列: 通配符系列匹配文件内容信息 正则符号系列: 扩展正则系列:

网友评论

      本文标题:BOM-scroll系列

      本文链接:https://www.haomeiwen.com/subject/kibumqtx.html