无视浏览器让滑动条隐藏仍能滑动的一个方法

    技术2022-07-10  103

    思路:父div设置了宽高且设置overflow:hidden,子div宽/高=100%+浏览器自带滑动条宽/高

    eg:

    .fatherDiv{ width:100px;height:100px;overflow:hidden  }

    .sonDiv{ overflow:scroll }

    这里需要用到一个方法去获取浏览器的滑动条宽高

    function getScrollbarWidth() { var odiv = document.createElement('div'),//创建一个div styles = { width: '100px', height: '100px', overflowY: 'scroll'//让他有滚动条 }, i, scrollbarWidth; for (i in styles) odiv.style[i] = styles[i]; document.body.appendChild(odiv);//把div添加到body中 scrollbarWidth = odiv.offsetWidth - odiv.clientWidth;//相减 odiv.remove();//移除创建的div return scrollbarWidth;//返回滚动条宽度 }

    代码就不整理了,放到编译器里面一键整理就好。

    然后在 

    $(function(){   $('.sonDiv').css('width',calc(100% + getScrollbarWidth()));  })

    注意这里的calc和+和后面的函数有空格。不然会报错。

    至此,滑动条就隐藏了,而且不会因为浏览器版本出现适配问题。

    Processed: 0.030, SQL: 9