let cached;
function getScrollBarSize(fresh){//fresh 是否重新获取, cached: 是否获取过if(fresh || cahced===undefined) {const inner = document.createElement('div');inner.style.width = '100%';inner.style.height = '200px';const outer = document.createElement('div');outer.style.position = 'absolute';outer.style.top =  0;outer.style.left = 0;outer.style.visibility = 'hidden';outer.style.width = '200px';outer.style.height = '150px'; //父元素高度比内部元素高度小outer.style.overflow = 'hidden';outer.appendChild(inner);document.body.appendChild(outer);const widthContained = inner.offsetWidth;outer.style.overflow = 'scroll'; //让滚动条显示出来let widthScroll = inner.offsetWidth; //offsetWidth: content+padding+borderif(widthContained === widthScroll){widthScroll = outer.clientWidth; //clientWidth: content + padding}document.body.removeChild(outer);/**const widthContained = outer.offsetWidth;const widthScroll = outer.clientWidth;document.body.removeChild(outer);**/cached = widthContained - widthScroll}return cached;
}

js获取页面滚动条宽度相关推荐

  1. JS 获取页面滚动条的高度

    function getScrollTop() {let scroll_top = 0;if (document.documentElement && document.documen ...

  2. 原生js获取html元素高度,js获取页面及个元素高度、宽度的代码

    网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offs ...

  3. js获取浏览器滚动条距离顶端的距离

    js获取浏览器滚动条距离顶端的距离 一.jQuery获取的相关方法   jquery 获取滚动条高度 获取浏览器显示区域的高度 : $(window).height(); 获取浏览器显示区域的宽度 : ...

  4. js获取页面光标坐标(x轴y轴)

    问题详情 js获取页面光标坐标(x轴y轴) 解决方案 // 获取当前位置 getPosition() {setTimeout(() => {// 获取当前光标位置getSelection()co ...

  5. js: 获取页面最大的zIndex(z-index)值

    js: 获取页面最大的zIndex(z-index)值 // 需要在页面渲染完毕之后执行function getMaxZIndex(){let arr = [...document.all].map( ...

  6. js 获取页面鼠标选中的文字

    js获取页面鼠标选中的文字,最主要的代码 event.selection = window.getSelection(); 页面代码 <div><p class="cont ...

  7. js获取页面高度获取视口高度获取内容高度获取滚动条宽度高度

    element对象的宽高属性 1. DOM树 2.document对象 3.element对象 4. 获取元素高度宽度 1. DOM树 浏览器根据DOM模型,将结构化文档HTML解析成节点,DOM的最 ...

  8. 如何获得当前屏幕顶端距离整个页面最上端的距离(即js获取浏览器滚动条距离顶端的距离)

    最近在做项目的时候遇到需要用js获取滚动条距离窗口顶端的距离和js获取浏览器可视化窗口的大小,在这儿做一个整理保存:    一.jQuery获取的相关方法 Js代码   jquery 获取滚动条高度 ...

  9. js获取页面的各种高度与宽度

    document.body.scrollTop等属性可以获取页面滚动距离等,但是此类属性在xhtml标准网页或者更简单的说是带<!DOCTYPE ..>标签的页面里得到的结果是0, 所以一 ...

最新文章

  1. Spring mvc HandlerMapping 实现机制
  2. [2020-09-11 CQBZ/HSZX多校联测 T2] 泰拳警告(组合数+数学期望)
  3. HEVC/H265 主要设计者谈HEVC/H265
  4. Android官方开发文档Training系列课程中文版:管理Activity的生命周期之停止和重启Activity
  5. 云漫圈 | 学Python还是Java, 8张漫画带你全面分析
  6. Underscore js是一个JavaScript实用库
  7. Farseer.net轻量级开源框架 中级篇:事务的使用
  8. qt编写mysql导出excel_Qt编写数据导出到Excel及Pdf和打印数据
  9. 高校科研项目管理系统
  10. R语言实现故障树定量与定性分析——以GJB-Z 768A-1998 故障树分析指南图5.37为例
  11. VC890D万用表弹片图片
  12. win10系统,字体及软件内容特别小(亲试有效)
  13. 谷歌浏览器的视频下载插件推荐
  14. golang读取pdf
  15. 用python提取发票扫描件常用的10多个发票信息保存到excel表
  16. 特征值比对代码/计算相似度代码
  17. python第二十四天
  18. 距离(distance)算法小结
  19. 迁移学习(Transfer Learning)的背景、历史
  20. Silverlight 5 强袭 !! 圣临王者之三端大一统

热门文章

  1. zw版_Halcon-delphi系列教程_卫星航拍精确打击目标自动识别
  2. Linux的常用经典命令(持续更新)
  3. 敷完面膜后要擦水乳吗_敷完面膜还要涂水乳吗
  4. Shortcut Icon地址栏显示图标
  5. 蚂蚁金服软件测试工程师一面面试题(附答案)建议收藏
  6. mysql 5.7 group replication 之三 ERROR 3092 (HY000): The server is not configured properly to be an ac
  7. Can‘t convert value at index 8 to dimension: type=0x10
  8. 理财入门:复利篇与科学记账法
  9. android实现简易记事本,Android使用GreenDao实现一个记事本App
  10. Bugfree 客户端使用手册