function getStyle(obj,name) {
if(obj.currentStyle)
{
return obj.currentStyle[name];
}
else
{
return getComputedStyle(obj,false)[name];
}
}
var timer=null;
timer=setInterval(function() {
var oDiv=document.getElementById('div1');
var speed=-1;
oDiv.style.width=parseInt(getStyle(oDiv,'width'))+speed+'px';//既然offset出现问题,我们大不了不用offset。因此要不把它给去掉。
},30);
<div id="div1"></div>
<!-- 这是我写的变窄的程序,用了offsetleft,完全没有问题, 视频中是如何出现问题的??
我当时用offsetleft是因为分享到侧边栏,里面有个变窄。而这个的主题是加了边框之后,offset出现问题。所以应该把left改为width
如何修改,我把样式加在行间,仍旧bug存在
第一步改为parseInt(oDiv.style.width),第二步,有个专门的取行间的函数getStyle-->
#div1 { width: 200px; height: 200px; background: red; position: absolute; left: 0px; top: 0; border: 1px solid black;}