js取滚动条的尺寸的函数代码

这个比较简单,做个记录而已。

创建一个嵌套节点,让外层节点产生滚动条,然后用offsetWidth - clientWidth即可获得滚动条宽度。需要注意的是为了避免页面抖动,可以设置外层元素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;
}

(0)

相关推荐

  • js取滚动条的尺寸的函数代码

    这个比较简单,做个记录而已. 创建一个嵌套节点,让外层节点产生滚动条,然后用offsetWidth - clientWidth即可获得滚动条宽度.需要注意的是为了避免页面抖动,可以设置外层元素position:absolute和visibility:hidden 参考: 复制代码 代码如下: function getScrollWith(){ var wrap = setAttributes(document.createElement('div'),{ style : { width : '2

  • js实现addClass,removeClass,hasClass的函数代码

    复制代码 代码如下: function hasClass(ele,cls) { return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); } function addClass(ele,cls) { if (!this.hasClass(ele,cls)) ele.className += " "+cls; } function removeClass(ele,cls) { if (hasClass(ele,cls

  • js 取时间差去掉周六周日实现代码

    复制代码 代码如下: function GetDayNum(no,type) { if (type == "35") { var num7 = document.getElementById("6").value; var value = document.getElementById("7").value; var valueR = num7; if (no == "7") {valueR = value;}//标识时间值

  • js实现滚动条自动滚动

    本文实例为大家分享了js实现滚动条自动滚动的具体代码,供大家参考,具体内容如下 效果类似于直播网站的评论,会一条接着一条向上 go out : js部分很简单:通过控制scrollTop的值来实现自动滚动效果: 很重要两点:    1.scrollTop的值不可以加单位,谨记! 2.网页缩放比例会影响效果实现(下面具体说): scrollTop需要注意的三点: 1.如果这个元素没有被溢出,scrollTop为0: 2.设置的scrollTop值小于0,则scrollTop的值为0 3.如果设置s

  • js滚轮事件 js自定义滚动条的实现

    本文实例为大家分享了js自定义滚动条的实现的具体代码,供大家参考,具体内容如下 描述: 自定义滚动条的实现 效果: 实现: <!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <title></title> <style> * {margin: 0;padding: 0;} html,body { width: 1

  • js跟随滚动条滚动浮动代码

    复制代码 代码如下: var str="客服"; var objFT=new FloatT("FloatMenu1",str,942,137,125,200,80,10); objFT.FloatRun(); //js跟随滚动条滚动 浮动 //pObjName:html 元素ID //pText:html 元素内容 //其它自己看 function FloatT(pObjName,pText,pstmnLEFT,pstmnGAP1,pstmnGAP2,pstmnBA

  • JS实现网页上随滚动条滚动的层效果代码

    本文实例讲述了JS实现网页上随滚动条滚动的层效果代码.分享给大家供大家参考,具体如下: 这款网页上随滚动条滚动层代码,拖动滚动条即可看到效果,对联广告的代码也都是基于此的,右侧的浮动层同样是可以关闭的稍微加工,便可实现一个浮动广告的代码,运行一下,先看效果吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-web-fixed-scroll-adv-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3

  • JS自定义滚动条效果简单实现代码

    本文实例为大家分享了JS自定义滚动条效果的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>自定义滚动条</title> <style type="text/css"> #div1 { width: 20px; height: 400px; position: relative;

  • js取0-9随机取4个数不重复的数字代码实例

    本文实例为大家分享了js取0-9随机取4个数不重复的数字的具体代码,供大家参考,具体内容如下 html <input type="button" value="随机生成4位数" onclick="f1()"> script function f1(){ var arr_4=new Array() function getRandom(min,max) //开始取数 { //随机数 var random = Math.random()*

  • 前端使用crypto.js进行加密的函数代码

    crypto-js 是一个纯 javascript 写的加密算法类库 ,可以非常方便地在 javascript 进行 MD5.SHA1.SHA2.SHA3.RIPEMD-160 哈希散列,进行 AES.DES.Rabbit.RC4.Triple DES 加解密. 可以在这个GitHub的https://github.com/brix/crypto-js上下载该js,它可以单独引入所需要加密方式的js:也可以引入一个crypto-js.js 这个文件,它相当于引入了所有的加密方式,我使用的就是后者

随机推荐