Discuz教程网

取得窗口大小 兼容所有浏览器的js代码

[复制链接]
authicon dly 发表于 2011-9-12 15:11:08 | 显示全部楼层 |阅读模式
取得窗口大小的代码:
  1. var pageWidth = window.innerWidth,
  2. var pageHeight = window.innerHeight;
  3. if(typeof pageWidth != "number"){
  4. if(document.compatMode == "number"){
  5. pageWidth = document.documentElement.clientWidth;
  6. pageHeight = document.documentElement.clientHeight;
  7. }else{
  8. pageWidth = document.body.clientWidth;
  9. pageHeight = document.body.clientHeight;
  10. }
  11. }
复制代码

我们首先把window.innerWidth和window.innerHeight的值分别付给了pageWidth和pageHeight。然后检查pageWidth中保存的是不是一个数值;如果不是,则通过document.compatMode来确定页面是否处于标准模式。如果是,则分别使用document.documentElement.clientWidth和document.documentElement.clientHeight的值。否则,就使用document.body.clientWidth和document.body.clientHeight的值。
取得窗口位置的代码:
  1. var leftPos = (typeof window.screenLeft == "number") ? window.screenLeft : window.screenX;
  2. var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY;
复制代码
 
这两个例子目的是取得窗口左边和上边的位置,首先运用二元操作符判断screenLeft属性和screenTops属性是否存在,如果存在(在IE、Safari、Opera和Chrome中),则取这两个属性的值。如果不存在(在Firefox中),则取screenX和screenY的值。



上一篇:IE 当eval遇上function的处理
下一篇:Javascript实现的类似Google的Div拖动效果代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-6-18 15:53

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表