背景

最近写了一个滑动条,发现自己的对offsetLeft,Left,clientLeft这几个的概念还不是很清楚,于是决定细细研究下。

分类

  • client部分
    clientHeight:内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度(不含边框,也不包含滚动条等边线,会随窗口的显示大小改变)
    clientLeft,clientTop: 这两个返回的是元素周围边框的厚度(border),如果不指定一个边框或者不定位改元素,他的值就是0.

  • offset部分
    计算时都包括此对象的border,padding
    offsetLeft:获取对象左侧与定位父级之间的距离
    offsetTop:获取对象上侧与定位父级之间的距离
    PS:获取对象到父级的距离取决于最近的定位父级
    offsetWidth:获取元素自身的宽度(包含边框)
    offsetHeight:获取元素自身的高度(包含边框)
    注:与style.top 不同,offsetLeft只可读,不可以对其进行赋值。offsetTop 返回的是数字,而 style.top 返回的是字符串,除了数字外还带有单位:px。
    与style.width属性的区别在于:如对象的宽度设定值为百分比宽度,则无论页面变大还是变小,style.width都返回此百分比,而offsetWidth则返回在不同页面中对象的宽度值而不是百分比值

  • scroll部分
    scrollLeft:设置或获取当前左滚的距离,即左卷的距离;
    scrollTop:设置或获取当前上滚的距离,即上卷的距离;
    scrollHeight:获取对象可滚动的总高度;
    scrollWidth:获取对象可滚动的总宽度;
    scrollHeight = content + padding;(即border之内的内容)

offsetLeft,Left,clientLeft详解相关推荐

  1. 详解 javascript中offsetleft属性的用法(转)

    详解 javascript中offsetleft属性的用法 转载  2015-11-11   投稿:mrr    我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...

  2. js的client、scroll、offset详解与兼容性

    clientWidth:可视区宽 说明:样式宽+padding 参考:js的client详解 scrollTop : 滚动条滚动距离 说明:chrome下他会以为滚动条是文档元素的,所以需要做兼容: ...

  3. 网页性能管理详解:浅谈chrome-Timeline及window.requestAnimationFrame()方法

    你遇到过性能很差的网页吗? 这种网页响应非常缓慢,占用大量的CPU和内存,浏览起来常常有卡顿,页面的动画效果也不流畅. 你会有什么反应?我猜想,大多数用户会关闭这个页面,改为访问其他网站.作为一个开发 ...

  4. offsetWidthoffsetLeft详解

    今天手写方格移动的时候遇到了一点问题,主要是针对el.style.left和el.offsetLeft无法区分,其实这个问题一直以来没有具体总结过,只在我的学习笔记(7)里面进行过一次不完全的概述,这 ...

  5. JavaScript中getBoundingClientRect()方法详解

    JavaScript中getBoundingClientRect()方法详解 getBoundingClientRect() 这个方法返回一个矩形对象,包含四个属性:left.top.right和bo ...

  6. php js实现流程图,详解js中构造流程图的核心技术JsPlumb(2)_javascript技巧

    前言:上篇详解js中构造流程图的核心技术JsPlumb介绍了下JsPlumb在浏览器里面画流程图的效果展示,以及简单的JsPlumb代码示例.这篇还是接着来看看各个效果的代码说明. 一.设置连线的样式 ...

  7. html nthchild作用,详解CSS中:nth-child的用法

    前端的哥们想必都接触过css中一个神奇的玩意,可以轻松选取你想要的标签并给与修改添加样式,是不是很给力,它就是":nth-child". 下面我将用几个典型的实例来给大家讲解:nt ...

  8. $.ajax的async参数,jquery的$.ajax async使用详解

    async在jquery ajax中是一个同步参数了,我们下面来给大家介绍在jquery ajax中使用async时碰到的一些问题与方法介绍,希望例子能给各位同学带来一些帮助哦. async默认是tr ...

  9. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

最新文章

  1. 【深度学习】详解集成学习的投票和Stacking机制
  2. 【五线谱】音高表示 ( 低音谱号 | C1 36 音符音高表示 | C2 48 音符音高表示 | C3 60 音符音高表示 )
  3. WINCE注册表应用
  4. java applet 输出多行_java学习笔记-输入输出、Applet和多线程开发
  5. 4个不同小球放入4个不同盒子_初婚老公和二婚老公有什么不同?听听这4个再婚女人的真实想法...
  6. lr分析器的设计与实现实验报告_《计算机导论》课程实验报告(一维数组)
  7. 一颗钉子能承受多大的重量?
  8. 如何利用录井/测井数据进行学习?
  9. Spark精华问答 | Spark的三种运行模式有何区别?
  10. RROR in main Module not found: Error: Can‘t resolve ‘index.js‘
  11. linux中强大且常用命令:find、grep
  12. codevs 3160 最长公共子串
  13. 服务器电源的电源管理芯片,TI推出新款IC PMBus 管理及保护服务器电源
  14. (附源码)ssm网上购物系统 毕业设计 123361
  15. java 循环读取文件_JAVA读写文件中的循环问题
  16. CE8301与自激振荡
  17. 远程手机教学|简单实用,1键远程协助老人使用智能手机
  18. Windows10与Kali Linux之间通过XFTP来共享文件
  19. Gazebo手册:【2】如何建立建筑物模型
  20. 阿泽CSS踩坑系列(二)-解决安卓端手机横屏后图片比例失调,需要刷新才能恢复正常的问题。(华为手机浏览器)

热门文章

  1. win10计算机如何共享,电脑Win10 系统怎么将文件共享给朋友或者其他设备
  2. 服务器显示E12,三洋滚筒洗衣机故障代码E11、E12的处理方法
  3. QQ浏览器保存网页为mhtml文件
  4. 阿里云 安骑士基础版和企业版的区别
  5. 同源序列比对和进化树的绘制(转)
  6. 计算机科学 征稿,计算机科学征稿函.doc
  7. 星巴克后麦当劳推咖啡外送服务,咖啡新零售进入深水区
  8. 柔性生产制造实验系统(工程型)
  9. 数控机床联网系统软件
  10. sip篇——sip协议是什么?