页面上的长度(客户端大小,滚动条的大小,事件触发的坐标)

在实战项目中,我们经常会想获取客户端的可视高度,客户端的大小的,页面的高度,但是却一下脑子却想不起来。因为我回想到很多名词,比如screenLeft,clientX,pageX,这些名词,但感觉他们都差不多。我想必要系统把他们给揪出来好好区分一下。

获取客户端高度,和宽度

夸浏览器确定一个客户端的高度,和宽度可不是,一件容易的事情。
IE9,Firefox,Safari,Opera和chrome均为此提供了四个属性,innerHeight,innerWidth,outerHeight,outerWidth。出了Opear,chrome以外,其他outerHeight都是浏览器大小,而Opera返回的浏览器减去边边框的宽度,chrome返回的视口宽度。

在浏览器中保留了documen.doucmentElment.clientWidth保留视口的信息,但是在ie下只能是标准模式下,才能怎么获取,不然必须要用document.body.clientWidth来获取视口信息

var pageWidth = window.innerWidth; var pageHeight = window.innerHeight; if (typeof pageWidth != "number") { if (document.compatMode == "CSS1Compat") { pageWidth = document.documentElment.clientWidth; pageHeight = document.documentElment.clientHeight; } else { pageWidth = document.body.clientWidth; pageHeight = document.body.clientHeight; } }

移动端window.innerWidth和window.innerHeight是保存视口的,但是ie浏览器却不是,但通过document.documentElement.clientHeight来标记视口。页面大小没什么可说的documen.body.ClientHeight用获取客户端高度。

获取鼠标的高度

鼠标触发事件后,在回调函数中,会传入event参数,这个参数会提供一些信息。
event.clientX:事件对象离视口的水平距离
event.pageX:事件的对象页面高度。
documen.body.scollTop: 滚动的高度

scollTop + clientY 与pageY相等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Window和document对象的区别 window对象window对象表示浏览器中打开的窗口window对象是...
    FConfidence阅读 2,242评论 0 5
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,798评论 0 8
  • // 获取窗口宽度 if (window.innerWidth)winWidth = window.innerWi...
    Undefined_C阅读 10,167评论 0 0
  • 写在前面:这次获得最佳,超出我的预期。因为,群里大牛太多,我的差距在十万八千里以外。昨晚,陪伴完孩子后,收到小小白...
    Fanny读书阅读 494评论 3 17
  • 17岁的年龄 可能一切刚好 有人说17喜欢的人 是一生中最刻苦铭心的 那 你是否也是 我的那个他像是离我好远 ...
    96946bc9d8e5阅读 394评论 0 0