获取绝对准确的滚动条宽度
原创,但印象中是看过类似的思路才想出来的方法,不过因为太久了,而且我的笔记里只记录我写的JS脚本,找不到当时看到的文章到底是写的什么了(不过可以确定的是那文章写的不是获取滚动条宽度)
/*! * 获取浏览器竖向滚动条宽度 * 首先创建一个用户不可见、无滚动条的DIV,获取DIV宽度后, * 再将DIV的Y轴滚动条设置为永远可见,再获取此时的DIV宽度 * 删除DIV后返回前后宽度的差值 * * @return Integer 竖向滚动条宽度 */ function getScrollWidth() { var noScroll, scroll, oDiv = document.createElement("DIV"); oDiv.style.cssText = "position:absolute; top:-1000px; width:100px; height:100px; overflow:hidden;"; noScroll = document.body.appendChild(oDiv).clientWidth; oDiv.style.overflowY = "scroll"; scroll = oDiv.clientWidth; document.body.removeChild(oDiv); return noScroll-scroll; }