浅谈offsetleft与left系列的区别
来源:互联网 发布:linux 用户组权限 编辑:程序博客网 时间:2024/06/05 16:40
在复习javascript运动框架的过程中,又遇到了offset属性,之前一直比较模糊的一个知识点,今天各方查阅资料总算有了一个比较清楚地认识,特来道一道其中真谛!
首先来一段代码测试测试!
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>未定义</title><style type="text/css"> div{ width:100px; height:100px; border:5px solid red; background-color:green; padding:3px; } </style> <script type="text/javascript"> window.onload=function(){ <span style="color:#6600cc;"><strong> console.log(document.getElementById("mytest").offsetWidth); console.log(document.getElementById("mytest").style.width);</strong> </span>} </script> </head> <body> <div id="mytest"></div> </body> </html>
以上代码中,offsetWidth属性可以返回div的宽度,但是style.width并不能够返回此div的宽度。(因为在js中不能直接把获取写在样式表中的样式)
由运行结果也可以看出offsetWidth返回的宽度值包括:border+width+padding
但是如果把样式加载行内,就可以读取到了
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><script>window.onload=function(){var oDiv=document.getElementById('div1');var a=oDiv.style.width;alert(typeof a);alert(a);}</script></head><body><div id="div1" style="width:200px"></div></body></html>显示结果:
相信大家也看出来了,width这样读取出来的不是一个数值,而是一个字符串,并且带有单位,但是offsetwidth返回的是一个数值。
这应该是两者在本质上的一个区别,还有在网上之前又看到过一种说法:
object.offsetLeft代表是当前object和父元素已经定义好的左边距。
object.style.left代表是object和父元素需要定义的左边距
不知道可不可以这样理解:offsetLeft是已经有的值,而left是需要计算的值,因此在运动框架的联系中经常看到的是将offsetLeft的值赋给left~~~
接下来一张图说明两者表象上的区别:
点击打开链接 offsetwidth和style.width的区别是什么
点击打开链接 浅析offsetLeft,Left,clientLeft之间的区别
0 0
- 浅谈offsetleft与left系列的区别
- offsetLeft与style.left的区别
- offsetLeft与style.left的区别
- offsetLeft与style.left的区别
- offsetLeft与style.left的区别
- offsetLeft与style.left的区别
- offsetLeft与style.left的区别
- style.left 与 offsetLeft的区别
- 关于left与offsetLeft的区别
- offsetLeft与style.left的区别
- offsetLeft与style.left的区别
- offsetLeft与style.left区别
- offsetLeft,Left,clientLeft的区别
- offsetLeft,Left,clientLeft的区别
- offsetLeft,Left,clientLeft的区别
- offsetLeft,Left,clientLeft的区别
- offsetLeft,Left,clientLeft的区别
- offsetLeft,Left,clientLeft的区别
- 连号区间数
- 【NOIP2012提高组】开车旅行
- x264代码剖析(十二):核心算法之帧内预测函数x264_mb_analyse_intra()
- gradle的配置
- Linux 下解决pthread_create undefined reference 方法
- 浅谈offsetleft与left系列的区别
- Webpack&React (八) 实现拖拽功能
- 我的前端工作流
- HYSBZ 仪仗队 2190 (容斥原理)
- c++第二次实验
- Android应用如何开机自启动、自启动失败原因
- Android Studio使用Git过程遇到的那些“坑”
- Angular之双向数据绑定基础
- UI进阶——XML解析与Json解析