js宽高

window.innerHeight 表示文档高度 可见区域高度 不是文档的总高 //ie9以上兼容

window.outerHeight 表示浏览器窗口高度包括菜单栏 

window.screen.height 表示屏幕分辨率的高度

window.screen.width 表示屏幕分辨率的宽度

window.screen.availHeight 表示window操作系统下出去任务栏的高度

window.screen.screenTop 表示浏览器窗口上边距屏幕顶端的距离 

window.screen.screenLeft 表示浏览器距离屏幕左边的距离 

document.clientWidth 表示文档可视区域宽度 

document.clientHeight 表示文档可见区域的高度  

元素dom对象的clientWidth 和clientHeight的宽高原理如下:

假如无滚动条 无padding clientWidth=style.width

假如有padding无滚动条

clientWidth=style.width+style.pading*2

假如有滚动条 有padding

clientWidth = style.width+style.padding*2-滚动条宽度 (mac系统滚动条宽度为0 win7滚动条有宽度)

document.clientLeft就是body的border-left值线条宽度

document.clientTop就是body的boder-top的值线条宽度

dom对象的.clientLeft clientTop也是border的宽度

offsetHeight , offsetWidth 等于 padding+border+content,该属性和元素内部内容是否超出元素内部是没有关系的,只和本来设定的border width padding有关

假如offsetWidth无滚动条无padding 无border

offsetWidth = clientWidth = style.width

假如有padding 有border 无滚动条

offsetWidth = clientWidth+border-width*2 

offsetWidth = style.width+padding*2+border-width*2

假如有padding 有border 有滚动条

offsetWidth = style.width+style.padding*2+style.border*2+滚动条宽度

offsetWidth = clientWidth + border-width*2+滚动条宽度

offsetTop offsetLeft 依赖于offsetParent

1 如果当前元素的父元素没有css定位(relative basolute) offsetParent为body

2 如果当前元素的父元素有css定位,offsetParent取最近的那个父元素

但是offsetLeft offsetTop 存在浏览器兼容问题 

doucment.bosy.scrollWidth 与document.body.scrollHeight,如果给定的body 的width height 小于浏览器窗口的宽高,那么doucment.bosy.scrollWidth 与document.body.scrollHeight就是浏览器的宽高,

给定宽高大于浏览器窗口,且内容小于给定宽高,

scrollWidth = 给定的宽度+所有padding+ 所有margin+所有padding

div的scrollWidth 在有滚动条的情况下的值是实际内容的宽度,超出了offsetWidth的宽度

无滚动轴时

scrollWidth = clientWidth = style.width + style.padding*2

有滚动轴时

scrollWidth = 实际内容的宽度+style.padding*2

scrollTop scrollLeft 指的是内容被卷起的高度和宽度,内容超过div 或可是区域时

当内容高度大于div的height 就出现滚动条,当设置div为overflow为hidden时,只显示height高度内容  其余多出部分隐藏

事件对象event相关坐标介绍

event.clientX和clientY表示当前鼠标点距离浏览器(可视区域)的坐标位置(距离可视区域的距离)

screenX,screenY表示当前鼠标点相对于设备左上角的坐标位置(距离左上角的距离)

offsetX,offsetY表示事件源的位置,比如div内点击事件,表示当前点击点距离点击div的距离

pageX,pageY表示相对于整个网页左上角的坐标(距离)有滚动轴,滚上去相对于网页左上角的距离就用该属性

X,Y返回的结果和clientX,clientY的结果是一样的但是该属性存在浏览器兼容问题

window.screenX和window.screenY的值和window.screenLeft window.screenTop的值是一样的都是表示浏览器窗口到设备的距离

getBoundingClientRect()可以直接获取该div到浏览器可视区域顶部的距离,不存在浏览器兼容问题,所以不用offsetLeft offsetTop 这两个值 因为存在兼容问题


jquery相关宽高
width()表示元素的windth宽度,不是内容的宽度
innerwidth()width+padding*2
ourterwidth()width+padding*2+border*2
ourterwidth(true)width+padding*2+border*2+margin*2


window document是不能通过jquery设置宽高的,也就是说不能通过width()innerwidth()ourterwidth()设置window document的宽高 这是无效的 只能获取
对于普通dom元素是可以获取 设置 的width()innerwidth()ourterwidth()


css(“width”)返回的长度带px单位
width()返回的长度不带px单位 这是和css的区别




scrollTop()返回卷起的高度
scrollLeft()返回左侧卷起的高度


offset()返回相对于document的当前坐标值
相对于body左上角的left top的值
postion()的值如果父元素设置了position:relative fixed absolute 那么就是距离父元素的距离
如果没有设置那么和offset()的值相等,就是距离body的top left的值

($window).height()返回窗口高度
($document).height()返回整改文档的高度












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值