이것은 비교적 간단하고 단지 기록일 뿐입니다.
중첩 노드를 생성하고 외부 노드가 스크롤 막대를 생성하도록 한 다음 offsetWidth - clientWidth를 사용하여 스크롤 막대 너비를 가져옵니다. 페이지 흔들림을 방지하기 위해 외부 요소 위치:절대 및 가시성:숨김을 설정할 수 있습니다.
참조:
function getScrollWith(){
var Wrap = setAttributes(document.createElement('div'),{
스타일: {
너비: '200px',
높이: '200px',
오버플로: '자동',
위치: '절대',
가시성: '숨김'
}
})
var inner = setAttributes(document.createElement('div'),{
style : {
width : '100px',
height: '2000px'
}
})
document.body.appendChild(wrap);
wrap.appendChild(inner);
var w = Wrap.offsetWidth -
document.body.removeChild; (wrap);
Wrap = null;
inner = null;
return w;
}
function setAttributes(elem,opts){
for(var key in opts)
if(typeof opts [key] == 'string'){
elem[key] = opts[key]
}else{
if(!elem[key]){
elem[key] = { };
}
setAttributes(elem[key],opts[key])
}
}
return elem;