更正!!!!!!!!

下面的代码没用了,

今天看到了 window.outerWidth 这个属性,直接就能取到整个页面包括滚动条的宽度;评论说 window.innerWidth 才是对的, 刚刚 chrome 下试了试, 全屏时两者一样, 缩小一点后 innerWidth 更准, outerWidth 多了 16 px.

同时,下面的代码也可以用 document.documentElement.clientWidth 来做阈值判断。

原因

想要做响应式设计,遇到——本来没有滚动条,缩小窗口时出现竖直滚动条,因为获取不到document+滚动条的宽度,所以可能莫名其妙的,没有在设置好的断点处达成相应效果。所以需要获取整个页面包括滚动条的宽度做判断。

解决办法

实时获取当前浏览所用浏览器的滚动条宽度

//获取当前浏览器滚动条的宽度,原理是设置一个不可见的div,查看设置scorll前后的宽度差function getScrollWidth() {var noScroll, scroll, oDiv = document.createElement("DIV");oDiv.style.cssText = "position:absolute;top:-1000px;width:100px;height:100px; overflow:hidden;";noScroll = document.body.appendChild(oDiv).clientWidth;oDiv.style.overflowY = "scroll";scroll = oDiv.clientWidth;document.body.removeChild(oDiv);return noScroll-scroll;}//当窗口载入或者缩放时,若窗口宽度过小,则改竖式导航为横式导航function changeNav() {//检测滚动条部分$("body").scrollTop(10);//控制滚动条下移10px//说明有滚动条,则此时width要减去滚动条宽度if( $("body").scrollTop()>0 ){if ($('html').width() - getScrollWidth() < 768) {$('#container').removeClass('tabs-left');} else {if (!$('#container').hasClass('tabs-left')) {$('#container').addClass('tabs-left');}}}else{//                没有滚动条,直接检测widthif ($('html').width() < 768) {$('#container').removeClass('tabs-left');} else {if (!$('#container').hasClass('tabs-left')) {$('#container').addClass('tabs-left');}}}}$(window).resize(changeNav);$(window).resize();};

获取整个页面包括滚动条的宽度,获取滚动条宽度相关推荐

  1. js根据url获取html页面,JS 通过url地址栏获取html页面名称

    有的时候需要获取页面名称,为此我在这里封装了一个方. 一.分别根据传递不同的参数,获取到html页面的名称. 通过传递参数,获取到html页面的名称:参数params 以下是参数解释说明 (1)par ...

  2. flask从服务器获取html页面,flask的ajax、获取服务器数据、放到前端页面、如果数据存在显示标签、如果不存在不显示标签...

    -------------------------------------第一部分----------------------------------------------------------- ...

  3. php 伪静态 获取当前页面路径_php伪静态如何获取地址栏url -

    PHP+MYSQL/开发 视频教程 解决方法 [img]http://www.caopeng.org/html/image/php.jpg[/img] 曹鹏 PHP+MYSQL 为网络开发提供流行动力 ...

  4. 关于Iframe嵌入页面,获取内部页面高度的办法

    项目中经常会嵌入别人的页面,如果不知道被嵌入页面的高度,就没法给Iframe高度赋值,内部嵌入的页面就会出现滚动条,影响页面的美观. 1.如果被嵌入页面和当前页面不跨域,可以使用Iframe的@loa ...

  5. php获取当前页面数据,ThinkPHP如何获取当前页面URL信息?

    THINKPHP获取当前页面URL信息 想要获取当前页面的url信息,可以借助thinkphp自带的request类来获取当前的url信息 使用\think\Request类$request = Re ...

  6. 微信小程序获取当前页面url

    微信小程序获取当前页面url 微信小程序获取当前页面的URL地址

  7. 浏览器滚动条高度的获取

    浏览器滚动条高度的获取 开始 最近做业务需求时,需要监听滚动条scoll事件,获取滚动条高度,用的document.body.scrollTop发现得到的值一直是0,后来做了一些查询,挖出不少秘密,做 ...

  8. 获取当前html的名字,c#获取当前页面名字

    昨天做权限管理,给普通管理员分配权限,做法是: 1,高级管理员表 2,普通管理员表(其中包含可管理的文件夹名称) 3,文件夹表 在普通管理员管理的时候,需要检验权限 所以现在主要要进行的是取到页面的当 ...

  9. page分页问题,根据页码获取对应页面的数据,接口调用

    添加一个log.js文件,进行接口调用. import axios from '@/libs/api.request'const MODULE_URL = '/log';export const ac ...

最新文章

  1. 干货!用 Python 快速构建神经网络
  2. inittab 文件分析
  3. 【转】互联网公司都有哪些行业
  4. [Swift]LeetCode1118. 一月有多少天 | Number of Days in a Month
  5. 十强决赛即将拉开帷幕!TECHSPARK星星之火IT创新大赛诚邀您观赛
  6. 查找最接近的元素(信息学奥赛一本通-T1240)
  7. mysql开启binlog日志影响性能吗_mysql binlog日志优化及思路
  8. Would It affect RAC clusterware and database If we adjust OS time/Clock?
  9. Axure8.0 注册码
  10. 数字化时代,Hightopo助力搭建光伏产业数据可视化
  11. 菜鸟教程 Java 学习笔记 (基础教程)
  12. python选择题题库百度文库_Python题库
  13. 【测试】各类视频(MP4、FLV、MKV、3GP)测试地址摘录,目前链接亲测有效!
  14. 带阵列卡的服务器如何装系统,带阵列卡的服务器能不能做ghost
  15. 缓存行填充与@sun.misc.Contended注解
  16. 【Java 8 新特性】Java LocalDateTime 和 Epoch 互相转换
  17. 互联网运营必须掌握的专业术语
  18. java jdk 配置不成功_JDK配置环境变量不成功的原因
  19. 百度网盘官方免费极速下载(不定期更新)
  20. 利用卷积神经网络实现手写字识别

热门文章

  1. 构建创新增值能力优势,康铂酒店突围中端酒店市场!
  2. WinSCP和SecureCRT使用
  3. Web2.0必读的24部经典专著
  4. Datatables学习(二)ajax获取数据
  5. 最全MySQL8.0实战教程
  6. 169_技巧_Power BI 依据促销日历计算销售金额
  7. 自编项目实现微信消息推送
  8. Pwnable之[Toddler's Bottle](三)--UAF
  9. Windows MiniHook HookAPIDemo
  10. 程序员用哪个牌子的洗发水比较好?