offset家族
1.1 三大家族和乙個事件物件
三大家族(offset/scroll/client)
事件物件/event (事件被觸動時,滑鼠和鍵盤的狀態)(通過屬性控制)
1.2 offset家族簡介
offset這個單詞本身是–偏移,補償,位移的意思。
js中有一套方便的獲取元素尺寸的辦法就是offset家族;
offsetwidth和offsethight 以及offsetleft和offsettop以及offsetparent
共同組成了offset家族。
1.2.1 offsetwidth和offsethight (檢測盒子自身寬高+padding+border)
這兩個屬性,他們繫結在了所有的節點元素上。獲取之後,只要呼叫這兩個屬性,我們就能夠獲取元素節點的寬和高。
offset寬/高 = 盒子自身的寬/高 + padding +border;
offsetwidth = width+padding+border;
offsetheight = height+padding+border;
1.2.2 offsetleft和offsettop (檢測距離父盒子有定位的左/上面的距離)
返回距離上級盒子(帶有定位)左邊s的位置
如果父級都沒有定位則以body為準
offsetleft 從父親的padding 開始算,父親的border 不算。
在父盒子有定位的情況下,offsetleft == style.left(去掉px)
1.2.3 offsetparent (檢測父系盒子中帶有定位的父盒子節點)
1、返回改物件的父級 (帶有定位)
如果當前元素的父級元素沒有進行css定位 (position為absolute或 relative,fixed), offsetparent為body。
2、如果當前元素的父級元素中有css定位 (position為absolute或 relative,fixed), offsetparent取最近的那個父級元素。
1.3 offsetleft和style.left區別
一、最大區別在於offsetleft可以返回沒有定位盒子的距離左側的位置。
而 style.left不可以
二、offsettop 返回的是數字,而 style.top 返回的是字串,除了數字外還帶有單位:px。
三、offsettop 唯讀,而 style.top 可讀寫。(唯讀是獲取值,可寫是賦值)
四、如果沒有給 html 元素指定過 top 樣式,則style.top 返回的是空字串。
style.left在=的左邊和右邊還不一樣。(左邊的時候是屬性,右邊的時候是值)
三大家族,offset,scroll,client
1.client 1.1主要成員 1.clientwidth 獲取網頁可視區域寬度 兩種用法 clientheight 獲取網頁可視區域高度 兩張用法 盒子呼叫 指盒子本省 瀏覽器呼叫 可視區域大小。2.clientx 滑鼠距離可視區域左側的距離 event呼叫 clienty 滑鼠距離可視區域上側...
集合大家族
今天看到了一張集合的圖,想著有空了進行整理整理,前面高能,哈哈哈哈 看圖 我們可以看到在集合 容器 的左右都有介面,而右邊的偏多,這張圖總結了各個介面的優缺點以及面試中會遇到的問題。右邊 iterable iterable是iterator 迭代器 的父類,實現了iterable介面的類都可以擁有增...
糰子最大家族(clannad)
bx2k有許多五顏六色的萌萌噠糰子。每個糰子有一種顏色。他決定將m個糰子排成一排。為了美觀,他要求任何相鄰的兩個糰子不能有相同的顏色。因為bx2k很懶,因此他來尋求你的幫助。輸入檔案包含兩行。第一行為乙個整數n,表示共有n種顏色的糰子。第二行為n個空格隔開的整數ai,表示顏色為i的糰子有ai個。題目...