js 关于BOM浏览器兼容问题 函数封装

    1.    作用:获取可视区宽度(兼容所有浏览器)
       返回值:获取可视区宽度

function getWidth(){
			if(window.innerWidth){
				return window.innerWidth;
			}
			else{


				if(document.compatMode == "CSS1Compat"){
					return document.documentElement.clientWidth;
				}
				else{
					return document.body.clientWidth;
				}
			}
		}




   测试案例 : 
   var result = getWidth();
    alert(result);
   返回结果:可视区宽度

2.   作用:获取可视区高度(兼容所有浏览器)
  返回值:获取可视区高度



function getHeight(){
			if(window.innerHeight){
				return window.innerHeight;
			}
			else{
				if(document.compatMode == "CSS1Compat"){
					return document.documentElement.clientHeight;
				}
				else{
					return document.body.clientHeight;
				}
			}
		}


  测试案例:
   var result = getWidth();
    alert(result);
  返回结果:可视区宽高

 
在chrome中不支持document.documentElement.scrollTop,该属性值为0
在chrome中获取滚动条卷曲高度要使用document.body.scrollTop
在firefox中不支持document.body.scrollTop,应该使用
document.documentElement.scrollTop



      3.    作用:获取获取滚动条卷曲高度(兼容所有浏览器)
         返回值:滚动条卷曲高度

    解决办法1:
function getScrollTop1(){
			if(document.documentElement.scrollTop){
				return document.documentElement.scrollTop;
			} 
			else{
				return document.body.scrollTop;
			}
		}



解决方法2:
	function getScrollTop2(){
			return document.documentElement.scrollTop || document.body.scrollTop;
		}



       解决方法3:

function getScrollTop3(){
			return document.documentElement.scrollTop + document.body.scrollTop;
		}


      测试案例:
   var result = getScrollTop1();
    alert(result);
     返回结果:滚动条卷曲高度
   


4.    作用:将滚动条设置到给定的位置,兼容所有浏览器
    返回值:将滚动条设置到给定的位置

function setScrollTop(top){
			document.documentElement.scrollTop = document.body.scrollTop = top;
		}


    测试案例:
    setScrollTop(0);
    返回结果:将滚动条设置窗口顶部
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值