文章简介:获取页面可视区域高度,获取页面高度,获取滚动条滚动上去的页面高度.
function getWH(){ var wh = {}; "Height Width".replace(/[^/s]+/g,function(a){ var b = a.toLowerCase(); wh[b]=window["inner".concat(a)] document.compatMode ==="css1Compat" && document.documentElement["client".concat(a)] document.body["client".concat(a)]; }); return wh; } 了解两个名词:BackCompat 标准兼容模式关闭(怪异模式) CSS1Compat 标准兼容模式开启 这个方法为获取页面可视区域的高度,普通情况下,window.innerHeight 即可获取,如果是正常模式,并且有clientHeight的情况下, document.documentElement.clientHeight 获取的就是可视区域高度。在怪异模式下,是使用document.body获取。
function getBodyWH(){ var wh = {}; "Height Width".replace(/[^/s]+/g,function(a){ var b = a.toLowerCase(); wh[b]=document.compatMode ==="CSS1Compat" && document.documentElement["scroll".concat(a)] document.body["scroll".concat(a)]; }); return wh; } 这个为获取页面的高度,用于iframe的自适应时候获取。
var ss = {}; ss.scrollTopFn = function(arg){ var a = navigator.userAgent.toLowerCase().indexof("webkit");//判断webkit内核 var scrollTop; if(a>-1document.compatMode =="BackCompat"){ this.scrollTopFn =function(arg){ if(typeof arg == 'number'){ document.body.scrollTop = arg; }else{ return document.body.scrollTop; } } }else{ this.scrollTopFn =function(arg){ if(typeof arg == 'number'){ document.documentElement.scrollTop = arg; }else{ return document.documentElement.scrollTop; } } } return this.scrollTopFn.apply(this,arguments); } 这个返回scrollTop 即滚动上去的页面的高度,因为在webkit内核下渲染的都是使用body,所以和上面两个判断是不一样的。在怪异模式下同样是用body。其他情况都是用documentElment。 这些玩意蛮烦的,今天弄了一天才总结出来了这么些,网上查找也没找到特别标准的说法,就一个个自己试了下,写了几个函数以供以后使用。有人如果有更好的判断方法的话,还望告知,谢谢!
欢迎大家阅读《网页制作技巧:获取页面可视区域的高度_css》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~