三大家族(offset旬渠、scroll俱萍、client)

offset


  • 用于獲取當(dāng)前元素尺寸
  • 5個(gè)屬性
    屬性 含義
    offsetWidth 獲取對象自身的寬 width+border+padding
    offsetHeight 獲取對象自身的高 height+border+padding
    offsetLeft 距離最近的第一個(gè)有定位父級盒子左邊的距離,如無定位則以body為準(zhǔn) 從父標(biāo)簽的padding開始計(jì)算告丢,不包括border
    offsetTop 距離最近的第一個(gè)有定位父級盒子上邊的距離枪蘑,如無定位則以body為準(zhǔn) 從父標(biāo)簽的padding開始計(jì)算,不包括border
    offsetParent 返回當(dāng)前對象的父級(帶定位)盒子,無定位返回body ---
  • offset與style的區(qū)別
    1. style.left只取行內(nèi)樣式岳颇,offsetLeft可以獲取到所有的樣式照捡。
    2. offsetLeft可以返回?zé)o定位盒子的左距離;而style.left只能返回有定位的盒子距離话侧。
    3. offsetLeft返回的是數(shù)字栗精,而style.left返回的是字符串,還帶單位px瞻鹏。
    4. offsetLeft是只讀的烤黍;style.left是可寫的拯爽。
    5. 若無指定當(dāng)前元素top,則style.top返回空字符串。

scroll


  • 與滾動(dòng)事配合使用(onscroll)

  • 4個(gè)屬性

    1. document.body.scrollWidth =>網(wǎng)頁正文全文寬
      scrollWidth =>元素中能夠滾動(dòng)的內(nèi)容的寬度
    2. document.body.scrollHeight =>網(wǎng)頁正文全文高
      scrollHeight =>元素中能夠滾動(dòng)的內(nèi)容的高度
    3. document.body.scrollTop => 頁面被卷去的高
    4. document.body.scrollLeft => 頁面被卷去的寬
  • 瀏覽器兼容

    1. 嚴(yán)格模式:document.compatMode = CSS1Compat
    2. 怪異模式:document.compatMode = BackCompat
    3. 兼容方式:高版本瀏覽器 || 嚴(yán)格模式 || 怪異模式
      var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
      var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;
    4. 封裝成工具類
      • 獲取被卷去的寬或者高
      scroll:function () {
          if(window.pageYOffset !== null){
              return{
                  "top":window.pageYOffset,
                  "left":window.pageXOffset
              }
          }else if (document.compatMode === 'CSS1Compat'){
              return {
                  "top":document.documentElement.scrollTop,
                  "left":document.documentElement.scrollLeft
              }
          }
          return {
              "top":document.body.scrollTop,
              "left":document.body.scrollLeft
          }
      }
      
      • 獲取能夠滾動(dòng)的內(nèi)容的寬或者高
      scrollText:function () {
          if (document.compatMode === 'CSS1Compat'){
              return {
                  "height":document.documentElement.scrollHeight,
                  "width":document.documentElement.scrollWidth
              }
          }
          return {
              "height":document.body.scrollHeight,
              "width":document.body.scrollWidth
          }
      }
      

client


  • 與窗口尺寸事件配合使用(onresize)
  • 4大屬性
    屬性
    clientWidth 可視區(qū)域?qū)挘簑idth + padding
    clientHeight 可視區(qū)域高:height + padding
    clientLeft 盒子左邊邊框?qū)?/td>
    clientTop 盒子上邊邊框?qū)?/td>
  • 獲取屏幕可視區(qū)域(兼容模式)
    ie9以上版本最新瀏覽器 || 標(biāo)準(zhǔn)模式 || 怪異模式
    var clientWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    var clientHeigth = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

附:事件


  1. 拿到事件
btn.addEventListener("click", function (ev1) {
        // 兼容方式拿到事件對象
          var e = ev1 || window.event;
}
  1. 事件對象的屬性和用途
    屬性 用途
    clientX 光標(biāo)相對于網(wǎng)頁的水平位置
    clientY 光標(biāo)相對于網(wǎng)頁的垂直位置
    type 事件的類型
    target 改事件被傳送到的對象
    screenX 光標(biāo)相對于該屏幕的水平位置
    screenY 光標(biāo)相對于該屏幕的垂直位置
    pageX 光標(biāo)相對于該網(wǎng)頁的水平位置(包括卷去的部分隅肥,不適用于IE)
    pageY 光標(biāo)相對于該網(wǎng)頁的垂直位置(包括卷去的部分乓序,不適用于IE)
    width 該窗口或框架的寬度
    height 該窗口或框架的高度
    data 返回拖拽對象的URL字符串
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仙畦,一起剝皮案震驚了整個(gè)濱河市慈参,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涩蜘,老刑警劉巖嚼贡,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異同诫,居然都是意外死亡粤策,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門误窖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叮盘,“玉大人,你說我怎么就攤上這事霹俺∪岷穑” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵丙唧,是天一觀的道長愈魏。 經(jīng)常有香客問我,道長想际,這世上最難降的妖魔是什么培漏? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮胡本,結(jié)果婚禮上牌柄,老公的妹妹穿的比我還像新娘。我一直安慰自己侧甫,他們只是感情好珊佣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布蹋宦。 她就那樣靜靜地躺著,像睡著了一般咒锻。 火紅的嫁衣襯著肌膚如雪冷冗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天虫碉,我揣著相機(jī)與錄音贾惦,去河邊找鬼胸梆。 笑死敦捧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碰镜。 我是一名探鬼主播兢卵,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绪颖!你這毒婦竟也來了秽荤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柠横,失蹤者是張志新(化名)和其女友劉穎窃款,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牍氛,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晨继,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搬俊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片紊扬。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖唉擂,靈堂內(nèi)的尸體忽然破棺而出餐屎,到底是詐尸還是另有隱情,我是刑警寧澤玩祟,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布腹缩,位于F島的核電站,受9級特大地震影響空扎,放射性物質(zhì)發(fā)生泄漏庆聘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一勺卢、第九天 我趴在偏房一處隱蔽的房頂上張望伙判。 院中可真熱鬧,春花似錦黑忱、人聲如沸宴抚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菇曲。三九已至冠绢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間常潮,已是汗流浹背弟胀。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喊式,地道東北人孵户。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像岔留,于是被迫代替她去往敵國和親夏哭。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355