offset / scroll / client Left / Top

1.offsetHeight / Width (只读)

  offsetHeight:表示该元素在垂直方向占用的空间大小,包含元素的高度+上边框高度+下边框高度

  offsetWidth:表示该元素在水平方向占用的空间大小,包含元素的宽度+左边框宽度+右边框宽度

2.clientHeight / clientWidth (只读)

  clientHeight:元素内容区的高度+元素内边距的高度

  clientWidth:元素内容区的宽度+元素内边距的宽度

 

  clientWidth = width + padding
  offsetWidth = width + padding + border = client + border

  注:该元素未设置:box-sizing:border-box

3.scrollHeight / scrollWidth

  无滚动条的情况下,与client相似,但不同浏览器有不同的差别

  在滚动条存在的情况下,等于client + 滚动条所蜷缩的高度或宽度

总结:

  在确定文档的总高度时,必须取得scrollWidth / clientWidth 和 scrollHeight / clientHeight 中的最大值,才能保证跨浏览器的环境下得到精确的结果

 

 var docHeight = Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight);

 var docWidth = Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth);

  注意:在混杂模式下的IE,需要用document.body代替document.documentElement

4.scrollTop / scrollLeft

  获取滚动条滚动的距离

5.offsetLeft / offsetTop (只读,并且没有单位)

  offsetLeft :元素的左外边框至包含元素的左内边框之间的像素距离

  offsetTop : 元素的上外边框至包含元素的上内边框之间的像素距离

  只能通过style.left / top来修改

  

posted @ 2018-02-17 10:58  ITBoy-Men  阅读(150)  评论(0编辑  收藏  举报