window
1债热、
window.innerWidth/innerHeight:
瀏覽器可見區(qū)域的內(nèi)寬度砾嫉、高度(不含瀏覽器的邊框,但包含滾動(dòng)條)窒篱。
對(duì)于Internet Explorer焕刮、Chrome、Firefox墙杯、Opera 以及 Safari: window.innerHeight - 瀏覽器窗口的內(nèi)部高度 window.innerWidth - 瀏覽器窗口的內(nèi)部寬度 對(duì)于 Internet Explorer 8配并、7、6高镐、5: document.documentElement.clientHeight document.documentElement.clientWidth 或者 document.body.clientHeight document.body.clientWidth
2溉旋、
window.outerWidth/outerHeight:
瀏覽器外寬度(包含瀏覽器的邊框,因各個(gè)瀏覽器的邊框邊一樣避消,得到的值也是不一樣的)低滩。
兼容:ie9/10、chrome岩喷、firefox恕沫。
注意:沒有window.width屬性。
3纱意、
window.screenLeft/screenTop:
瀏覽器的位移
ie瀏覽器的內(nèi)邊緣距離屏幕邊緣的距離婶溯。
chrome瀏覽器的外邊緣距離屏幕邊緣的距離。
兼容:ie6/7/8/9/10、chrome迄委。
4褐筛、
window.screenX/screenY:
瀏覽器的位移
瀏覽器的外邊緣距離屏幕邊緣的距離。
chrome瀏覽器的外邊緣距離屏幕邊緣的距離叙身。
兼容:ie9/10渔扎、chrome、firefox信轿。 chrome的screenLeft和screenX是相等的(其目的是為了兼容ie和firefox晃痴,兩個(gè)屬性都兼?zhèn)淞耍呄蛴趂irefox财忽,chrome的這種做法不止這一處倘核,還有很多,其實(shí)這種做法便于開發(fā)者移植即彪,但對(duì)開發(fā)者的開發(fā)過程產(chǎn)生了一定的混淆)紧唱,ie9/10的screenLeft是大于screenX的。
5隶校、
window.pageXOffset/pageYOffset
表示瀏覽器X軸(水平)漏益、Y軸(垂直)滾動(dòng)條的偏移距離。
兼容:ie9/10惠况、chrome遭庶、firefox。
6稠屠、
window.scrollX/scrollY
表示瀏覽器X軸(水平)、Y軸(垂直)滾動(dòng)條的偏移距離翎苫。由此可知权埠,在chrome和firefox中window.pageXOffset和window.scrollX是相等的.
兼容:chrome、firefox煎谍。
screen
1攘蔽、
screen.width/height
屏幕的寬度、高度(指的是屏幕的分辨率呐粘,單位為像素)满俗。
兼容:ie6/7/8/9/10、chrome作岖、firefox唆垃。
2、
screen.availWidth/availHeight
屏幕的可用寬度痘儡、高度(通常與屏幕的寬度辕万、高度一致)。
兼容:ie6/7/8/9/10、chrome渐尿、firefox醉途。
element
1、
elment.clientWidth/clientHeight
有滾動(dòng)條時(shí):clientWidth=元素左內(nèi)邊距寬度+元素寬度+元素右內(nèi)邊距寬度-元素垂直滾動(dòng)條寬度
無(wú)滾動(dòng)條時(shí):clientWidth=元素左內(nèi)邊距寬度+元素寬度+元素右內(nèi)邊距寬度
使用該特性可以計(jì)算出的滾動(dòng)條寬度(即設(shè)置元素的內(nèi)容寬度超過元素寬度砖茸,然后分別設(shè)置是否超過隱藏隘擎,兩次的clientWidth差值就是滾動(dòng)條的寬度)。
兼容:chrome凉夯、firefox嵌屎、ie6/7/8/9/10。
2恍涂、
element.clientLeft/clientTop
clientLeft為左邊框?qū)挾缺Χ瑁琧lientTop為上邊框?qū)挾取?br>
兼容:chrome、firefox再沧、ie6/7/8/9/10尼夺。·
3炒瘸、
element.offsetWidth/offsetHeight
offsetWidth=元素左邊框?qū)挾?元素左內(nèi)邊距寬度+元素寬度+元素右內(nèi)邊距寬度+元素右邊框?qū)挾取?br>
兼容:chrome淤堵、firefox、ie6/7/8/9/10顷扩。
4拐邪、
element.offsetLeft/offsetTop
表示該元素相對(duì)于最近的定位祖先元素的距離,
chrome:offsetLeft=定位祖先左邊框?qū)挾?定位祖先元素左內(nèi)邊距寬度+左位移+左外邊距寬度
ie6/7/8/9/10隘截、firefox:offsetLeft=定位祖先元素左內(nèi)邊距寬度+左位移+左外邊距寬度扎阶。
chrome比其他瀏覽器多計(jì)算了定位祖先元素的邊框。offsetTop同理婶芭。
兼容:chrome东臀、firefox、ie6/7/8/9/10犀农。
5惰赋、
element.scrollWidth/scrollHeight
有滾動(dòng)條時(shí):chrome、firefox呵哨、ie8/9/10:左內(nèi)邊距寬度+內(nèi)容寬度赁濒。
ie6/7:左內(nèi)邊距寬度+內(nèi)容寬度+右內(nèi)邊距寬度(是由CSS的BUG引起)。
無(wú)滾動(dòng)條時(shí):左內(nèi)邊距寬度+寬度+右內(nèi)邊距寬度孟害。
兼容:chrome拒炎、firefox、ie8/9/10纹坐、ie6/7(半兼容)枝冀。
6舞丛、
element.scrollLeft/scrollTop
獲得水平、垂直滾動(dòng)條的距離果漾。
兼容:chrome球切、firefox、ie6/7/8/9/10绒障。
事件屬性
1吨凑、
clientX、clientY
clientX 事件屬性返回當(dāng)事件被觸發(fā)時(shí)鼠標(biāo)指針向?qū)τ跒g覽器頁(yè)面(或客戶區(qū))的水平坐標(biāo)户辱。
clientY 事件屬性返回當(dāng)事件被觸發(fā)時(shí)鼠標(biāo)指針向?qū)τ跒g覽器頁(yè)面(或客戶區(qū))的垂直坐標(biāo)鸵钝。
客戶區(qū)指的是當(dāng)前窗口。
語(yǔ)法
event.clientX;
event.clientY;
2庐镐、
event.pageX恩商、event.pageY
類似于event.clientX、event.clientY必逆,但它們使用的是文檔坐標(biāo)而非窗口坐標(biāo)怠堪。這2個(gè)屬性不是標(biāo)準(zhǔn)屬性,但得到了廣泛支持。IE事件中沒有這2個(gè)屬性。
3璧疗、
event.offsetX、event.offsetY
鼠標(biāo)相對(duì)于事件源元素(srcElement)的X,Y坐標(biāo)虽画,只有IE事件有這2個(gè)屬性,標(biāo)準(zhǔn)事件沒有對(duì)應(yīng)的屬性。
4、
event.screenX掏秩、event.screenY
鼠標(biāo)相對(duì)于用戶顯示器屏幕左上角的X,Y坐標(biāo)。標(biāo)準(zhǔn)事件和IE事件都定義了這2個(gè)屬性
總結(jié)
屏幕寬度:window.screen.width隧膏』┘ィ·
瀏覽器內(nèi)寬度:window.innerWidth || document.documentElement.clientWidth。
元素內(nèi)容寬度:element.clientWidth胞枕。
元素占位寬度:element.offsetWidth。