当前位置:  开发笔记 > 编程语言 > 正文

检测窗口宽度并补偿滚动条 - Javascript

如何解决《检测窗口宽度并补偿滚动条-Javascript》经验,为你挑选了2个好方法。

如何使用Javascript和滚动条帐户检测用户窗口的宽度?(我需要滚动条内屏幕的宽度).这是我的...它似乎在多个浏览器中工作...除了它不考虑滚动条..

    function browserWidth() {
  var myWidth = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
  } else if( document.documentElement && document.documentElement.clientWidth ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && document.body.clientWidth ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
  }
  return myWidth;
}

有任何想法吗?我需要它在所有浏览器中工作;)



1> 小智..:

如果您只对宽度感兴趣,那么(明显令人讨厌的)解决方法是创建1px x 100%div并使用其offsetWidth.在IE> = 7,FF,Chrome浏览器,Safari和Opera(我没试过IE6,因为我们正在努力为you're,幸运-IT-作品不惜一切那么鸵鸟政策抱怨 - 这些天 - 关于渲染 - 古怪的政策.我将div.off与属性挂起{ position: 'absolute', top: '-1px', left: 0, width: '100%', height: '1px' },在第一次需要时创建它.

如果你可以忍受它的工作.



2> moonshadow..:

您将在quirksmode.org上找到此页面上哪些浏览器支持哪些属性的大摘要.

你最好的选择可能是在页面中获取一个元素(使用document.body支持,或者document.getElementById或其他),遍历其offsetParent链以找到最顶层的元素,然后检查该元素的clientWidth和clientHeight.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有