摘要:客戶區(qū)大小元素的客戶區(qū)大小指的是元素內(nèi)容機(jī)器內(nèi)邊距占據(jù)空間的大小。滾動(dòng)大小和主要用于確定元素內(nèi)容的實(shí)際大小。窗口大小在現(xiàn)代主流瀏覽器中提供了四個(gè)屬性確定窗口的大小,分別為和。
原文鏈接:http://mrzhang123.github.io/2016/08/03/js-position/
1.元素的偏移量最近事兒比較多,一直沒時(shí)間寫東西,前幾天又遇到關(guān)于獲取元素大小的問題,每次遇到這類問題就翻書,比較費(fèi)時(shí)間,所以總結(jié)一下。
元素的偏移量包括元素在屏幕上占用的所有可見的空間。元素的可見大小由其高度、寬度決定,包括所有內(nèi)邊距、滾動(dòng)條和邊框大小(注意:這里并不包括外邊距)。
2.客戶區(qū)大小元素的客戶區(qū)大小指的是元素內(nèi)容機(jī)器內(nèi)邊距占據(jù)空間的大小。
要確定瀏覽器可見窗口的大小,可以使用document.documentElement或document.body(IE7之前的版本中)。
從以上兩個(gè)我們可以看出元素偏移量(offset)與客戶區(qū)大小(client)的區(qū)別在于有沒有包含邊框,客戶區(qū)大小不包含邊框。
3.滾動(dòng)大小scrollWidth和scrollHeight主要用于確定元素內(nèi)容的實(shí)際大小。所以帶有垂直滾動(dòng)條的頁(yè)面總高度就是document.documentElement.scrollHeight。
4.窗口大小在現(xiàn)代主流瀏覽器中提供了四個(gè)屬性確定窗口的大小,分別為:innerWidth、innerHeight、outerWidth和outerHeight。
4.1. outerWidth和outerHeight返回瀏覽器窗口本身的尺寸(無(wú)論是從外層的window對(duì)象還是從某個(gè)框架訪問)
4.2. innerWidth和innerHeight返回該容器中頁(yè)面試圖去的大小(減去邊框?qū)挾龋?/p>
注意:
這里在《javascript高級(jí)程序設(shè)計(jì)》(第三版)中寫道在chrome中outer與inner返回的值是一樣的,這算是chrome的一個(gè)bug,我在chrome 53中已經(jīng)修復(fù),但是在QQ瀏覽器中(內(nèi)核為chromium47)依舊是相等的,這需要注意!
clientWidth和clientHeight。
在主流瀏覽器中,document.docuementElement.clientWidth和document.documentElement.clientHeight中保存的是頁(yè)面視口信息。返回的值與window.innerHeight,window.innerWidth一樣。
但是window.innerHeight在IE8及以下瀏覽器中結(jié)果是undefined,而document.documentElement.clientHeight還有值。所以在各個(gè)瀏覽器下取得頁(yè)面視口大小的代碼如下:
var pageWidth=window.innerWidth, pageHeight=window.innerHeight; if(typeof pageWidth !== "number"){ if(document.compatMode === "CSS1Compat"){ pageWidth=document.documentElement.clientWidth; pageHeight=document.documentElement.clientHeight; }else{ pageWidth=document.body.clientWidth; pageHeight=document.body.clientHeight; } }
代碼中document.compatMode用于判斷瀏覽器處于什么模式,它有兩個(gè)值:
BackCompat:瀏覽器處于怪異模式
CSS1Compat:瀏覽器處于標(biāo)準(zhǔn)模式
不同模式下,獲取瀏覽器的寬度的方法不同,在代碼中已經(jīng)做了判斷。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/80017.html
摘要:反饋檢測(cè)到的每個(gè)人的置信度值以及檢測(cè)到的每個(gè)姿勢(shì)關(guān)鍵點(diǎn)。姿勢(shì)置信度這決定了姿勢(shì)判斷的整體置信度。在較高級(jí)別,這將控制回饋的姿勢(shì)較低置信度分?jǐn)?shù)。只有在調(diào)整姿勢(shì)置信度得分不夠好的情況下,為了過濾掉不太準(zhǔn)確的姿勢(shì),該數(shù)值應(yīng)該增加或減少。 文 / Dan Oved,Google Creative Lab 的自由創(chuàng)意技術(shù)專家,紐約大學(xué) ITP 的研究生。編輯和插圖 / 創(chuàng)意技術(shù)專家 Irene Alv...
摘要:在中上面的兩組屬性相同,都表示視口的大小,而不是瀏覽器窗口的大小。但在其他瀏覽器中,后面的這兩個(gè)屬性表示的是整個(gè)頁(yè)面布局視口,也就是頁(yè)面選然后的實(shí)際大小。元素在水平方向桑占用的空間的大小。 1、窗口位置 窗口對(duì)象對(duì)應(yīng)的是window對(duì)象。在window對(duì)象中使用屬性screenTop、screenLeft、screenY和screenX(單位為像素)兩組屬性來(lái)表示窗口相對(duì)于屏幕上邊和左...
摘要:所以相對(duì)于簡(jiǎn)單數(shù)據(jù)類型而言,他們占用內(nèi)存比較小,如果放在堆中,查找會(huì)浪費(fèi)很多時(shí)間,而把堆中的數(shù)據(jù)放入棧中也會(huì)影響棧的效率。六總結(jié)本文總結(jié)了數(shù)據(jù)類型及其聲明賦值更新時(shí)在內(nèi)存堆棧中的表現(xiàn),可以更深入的理解這些數(shù)據(jù)類型。 JS數(shù)據(jù)類型 與 內(nèi)存堆棧 一、前言 JS的數(shù)據(jù)類型已經(jīng)是大家都很熟悉的東西了,但是大家是否對(duì)這些數(shù)據(jù)類型在內(nèi)存中的分配了解,甚至在操作這些變量時(shí),內(nèi)存中是如何表現(xiàn)的,本文...
摘要:性能優(yōu)化網(wǎng)站的性能細(xì)線在幾個(gè)方面網(wǎng)站首頁(yè)加載速度動(dòng)畫的流暢度通過分析瀏覽器的渲染原理資源對(duì)渲染的影響,得出優(yōu)化網(wǎng)站性能的辦法。查看性能的工具的面板錄制網(wǎng)頁(yè)加載的過程,分析記錄瀏覽器渲染過程中每個(gè)過程的耗時(shí)。通過引入,可以避免阻塞。 1 Web性能優(yōu)化 Web網(wǎng)站的性能細(xì)線在幾個(gè)方面: 網(wǎng)站首頁(yè)加載速度 動(dòng)畫的流暢度 通過分析瀏覽器的渲染原理、資源對(duì)渲染的影響,得出優(yōu)化網(wǎng)站性能的辦法...
摘要:當(dāng)這些異步任務(wù)發(fā)生的時(shí)候,它們將會(huì)被放入瀏覽器的事件任務(wù)隊(duì)列中去,等到運(yùn)行時(shí)執(zhí)行線程空閑時(shí)候才會(huì)按照隊(duì)列先進(jìn)先出的原則被一一執(zhí)行,但終究還是單線程。 瀏覽器是多進(jìn)程的 showImg(https://segmentfault.com/img/remote/1460000019706956?w=815&h=517); Browser進(jìn)程: 瀏覽器的主進(jìn)程(負(fù)責(zé)協(xié)調(diào)、主控),只有一個(gè)。 負(fù)...
閱讀 2123·2023-04-25 14:56
閱讀 2441·2021-11-16 11:44
閱讀 2696·2021-09-22 15:00
閱讀 1903·2019-08-29 16:55
閱讀 2177·2019-08-29 14:04
閱讀 2305·2019-08-29 11:23
閱讀 3678·2019-08-26 10:46
閱讀 1907·2019-08-22 18:43