Js:offsetWidth的Bug
来源:互联网 发布:捰体p图软件 编辑:程序博客网 时间:2024/04/29 18:03
offsetWidth 得到的并不是当前元素width的宽度,而是当前元素盒模型的宽度。
例如:
#div1{width:200px; height:200px; border:1px solid black; background:red; padding:5px;}
<div>test<div>
这个时候的offsetWidth应该是200px+1px(左边框)+1px(右边框)+5px(左内边距)+5px(右内边距)
如果分不清这个会导致程序出问题。如下:
<script> setInterval(funtion(){ var oDiv = document.getElementById("div1); oDiv.style.width = oDiv.offsetWidth - 1 + "px";},30)</script>
<style>#div1{width:200px; height:200px; border:1px solid black; background:red;}</style>
<body> <div id="id1"></div></body>
div1会越来越宽,而不是越来越窄。
因为定时器第一次执行时
offsetWidth是202px,-1之后是201px赋值给width(这里是元素的实际宽度)
定时器第二次执行时
offsetWidth是203px(201之前赋值给width的值+2边框),-1之后是202px赋值给width
……
所以div1会越变越宽而不是越变窄
0 0
- Js:offsetWidth的Bug
- JS运动之offsetWidth属性的小bug
- js的offsetHeight offsetWidth
- js的offsetHeight offsetWidth
- JavaScript中offsetWidth的'bug'及其对策
- js的style.width和offsetWidth问题
- js的宽高度offsetWidth;clientWidth;
- js offsetHeight offsetWidth 解说
- js offsetHeight offsetWidth 解说
- js offsetHeight offsetWidth 解说
- js offsetHeight offsetWidth 解说
- js控制的DIV一些属性 scrollLeft,scrollWidth,clientWidth,offsetWidth
- js控制的DIV一些属性 scrollLeft,scrollWidth,clientWidth,offsetWidth .
- JS中关于clientWidth offsetWidth scrollWidth 等的含义
- JS中关于clientWidth offsetWidth scrollWidth 等的含义
- JS中关于clientWidth offsetWidth scrollWidth 等的含义
- js运动-offsetWidth和offsetHeight引发的血案
- JS中关于clientWidth offsetWidth scrollWidth 等的含义
- Day 7(11.14):(7)一些语法要素
- MySQL for Mac安装和启动
- hdoj 5500 Reorder the Books 【规律题】
- 运算符重载
- JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
- Js:offsetWidth的Bug
- Mac搭建web开发环境
- 文章标题
- Day 7(11.14):(8)用户自定义函数
- HDU 5563 Clarke and five-pointed star(判断正五边形)——BestCoder Round #62(div.1 div.2)
- 第一个高德地图的Web程序
- Genymotion所创建虚拟机无法启动,提示查看日志
- HDU_5563Clarke and five-pointed star
- 关于EDITTEXT的监听,以及限制特定字节数的实现