使用js解决由边界属性引起的div宽度问题

让我们看一个例子。
复制代码代码如下所示:

VaR的定时器
功能stopmove(){
ClearInterval(定时器)
}
功能startmove(){
var div = document.getelementbyid(好的)
ClearInterval(定时器)
定时器= setInterval(){()函数(
好的。风格。宽度为好。offsetwidth-1 + 'px '; / /理论应该宽度的减小,但却使生长,在样式属性表中的边界,你可以摆脱解
},20)
}


*边距:0;填充:0 }
体{字体大小:14px;线高度:24px;保证金:0px;padding: 0px;}
#好{宽度:800px;高度:200px;背景颜色:深绿色;边界:一个红色的实线;}





注意注释,为什么会出现这种情况呢事实上,这是由于边界,因为ok.style.width指定div的宽度,和offsetwidth指实际宽度,包括边框的宽度,所以这个权利。宽度大于左边的一个像素,每个解决方案,减去3像素可以达到实际减去一个像素。或使用parseInt(div.style。宽度)的权利,但修改div如下:
复制代码代码如下所示:


最终的解决方案:使用currentstyle或getcomputedstyle得到性能。