js取滾動條的尺寸的函數(shù)代碼
更新時間:2011年11月30日 23:49:39 作者:
js取滾動條的尺寸的函數(shù)代碼,需要的朋友可以參考下。
這個比較簡單,做個記錄而已。
創(chuàng)建一個嵌套節(jié)點,讓外層節(jié)點產(chǎn)生滾動條,然后用offsetWidth - clientWidth即可獲得滾動條寬度。需要注意的是為了避免頁面抖動,可以設(shè)置外層元素position:absolute和visibility:hidden
參考:
function getScrollWith(){
var wrap = setAttributes(document.createElement('div'),{
style : {
width : '200px',
height: '200px',
overflow: 'auto',
position:'absolute',
visibility:'hidden'
}
})
var inner = setAttributes(document.createElement('div'),{
style : {
width : '100px',
height: '2000px'
}
})
document.body.appendChild(wrap);
wrap.appendChild(inner);
var w = wrap.offsetWidth - wrap.clientWidth;
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;
}
創(chuàng)建一個嵌套節(jié)點,讓外層節(jié)點產(chǎn)生滾動條,然后用offsetWidth - clientWidth即可獲得滾動條寬度。需要注意的是為了避免頁面抖動,可以設(shè)置外層元素position:absolute和visibility:hidden
參考:
復(fù)制代碼 代碼如下:
function getScrollWith(){
var wrap = setAttributes(document.createElement('div'),{
style : {
width : '200px',
height: '200px',
overflow: 'auto',
position:'absolute',
visibility:'hidden'
}
})
var inner = setAttributes(document.createElement('div'),{
style : {
width : '100px',
height: '2000px'
}
})
document.body.appendChild(wrap);
wrap.appendChild(inner);
var w = wrap.offsetWidth - wrap.clientWidth;
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;
}
相關(guān)文章
JS實現(xiàn)可縮放、拖動、關(guān)閉和最小化的浮動窗口完整實例
這篇文章主要介紹了JS實現(xiàn)可縮放、拖動、關(guān)閉和最小化的浮動窗口的方法,實例分析了javascript操作窗口層的技巧,需要的朋友可以參考下2015-03-03JS 動態(tài)加載js文件和css文件 同步/異步的兩種簡單方式
下面小編就為大家?guī)硪黄狫S 動態(tài)加載js文件和css文件 同步/異步的兩種簡單方式。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09javascript實現(xiàn)的猜數(shù)小游戲完整實例代碼
這篇文章主要介紹了javascript實現(xiàn)的猜數(shù)小游戲,游戲中用戶共有10次猜測機會,并且每次都有不同的提示信息,該游戲涉及javascript流程控制與數(shù)值運算的相關(guān)技巧,需要的朋友可以參考下2016-05-05javascript實現(xiàn)的圖片預(yù)覽和上傳功能示例【兼容IE 9】
這篇文章主要介紹了javascript實現(xiàn)的圖片預(yù)覽和上傳功能,結(jié)合實例形式分析了javascrpt圖片預(yù)覽和上傳功能相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2020-05-05