JavaScript-Javascript获取浏览器窗口高 、宽不准的问题
各个浏览器标准不一样,求兼容性高的获取浏览器窗口 高 、宽代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
各个浏览器标准不一样,求兼容性高的获取浏览器窗口 高 、宽代码
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
if(document.body.scrollTop){
x=document.body.scrollTop;
y=document.body.scrollLeft;
}
else{
x=document.documentElement.scrollTop;
y=document.documentElement.scrollLeft;
}
var top = x + (window.screen.height - $($bimg).height())/2-50;
//取得左边距
var left = y + (window.screen.width - $($bimg).width())/2-20;
正如所说,不同浏览器得到的高、宽数值是不一样的,最好是分开针对性的处理,可以试下下面的这套代码:
var myWidth;
var myHeight;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement &&
( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
方法二:
// first get the size from the window
// if that didn't work, get it from the body
var size = {
width: window.innerWidth || document.body.clientWidth,
height: window.innerHeight || document.body.clientHeight
}
该方法取之Stackoverflow
前段时间正好做了一个应用,要求浏览器窗口的滚动高跟宽,因为这个我也折腾了一番,我用的是下面的代码:
var scrollWidth = document.documentElement.scrollWidth || document.body.scrollWidth;//页面滚动宽带
var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;//页面滚动高度
兼容性还行,Mark一下吧。
另外使用js获取浏览器的宽跟高还会受页头声明的DOCTYPE的影响。
用jquery吧,$(window).height(),$(window).width()