offsetWidth所获取的宽度并不是div的实际宽度,它包括div的width、border等。
在JS函数中,可以通过obj.style.width来获取div的实际宽度,但是这种方式style只能获取行间样式,所以需要一个函数调用css中样式,代码如下:
function getStyle(obj, name) { if (obj.currentStyle) { return obj.currentStyle[name]; } else { return getComputedStyle(obj, false)[name]; } } setInterval(function () { var oDiv = document.getElementById('div1'); oDiv.style.width = parseInt(getStyle(oDiv, 'width')) - 1 + 'px'; }, 30); 现在我们来用一个案例来掩饰去掉offset如何实现 代码:
无标题文档 变高变宽字体变大边框变粗
运行结果: