2018-09-07 原生js獲取left和top

[原生js獲取left值和top值]
---------------------------------(https://www.cnblogs.com/yizhilin/p/7269124.html)

在用js做動態(tài)效果時,通常需要獲取元素絕對定位中的left和top屬性值。比如做一個碰撞廣告,就要不停的獲取元素的top和left屬性值。

需要注意的事:取值的元素必須要設(shè)置position:absolute絕對定位屬性,才能取的到left值。

第一種方法,比較簡單,就是直接通過obj.style.left和obj.style.top,但是有局限性,這種獲取的方法只能獲取到行內(nèi)樣式的left和top的屬性值,不能獲取到style標(biāo)簽和link 外部引用的left和top屬性值。

第二種方法 ,只讀,可以獲取所有style樣式,存在兼容性問題,在標(biāo)準(zhǔn)瀏覽器中可以通過window.getComputedStyle(對象,null).left方法來獲取元素的left和top的屬性值。而在IE瀏覽器上則是采用obj.currentStyle.left方法來獲取屬性值。

第三種方法,使用obj.offsetLeft來獲取對象的left屬性值,用obj.offsetTop來獲取對象的top屬性值。

栗子:
<script type="text/javascript">
// 1,第一種方法 obj.style.left 只能獲取行內(nèi)樣式的left值
var boxs = document.getElementById('boxs');
var ctns = document.getElementById('ctns');
var a = boxs.style.left;
console.log(a); //值是空,沒有

var a2 = ctns.style.left;
console.log(a2);    //值是20px


// 2,第二種方法,獲取所有類型樣式值,要寫兼容
//支持w3c規(guī)范的瀏覽器
var b2= window.getComputedStyle(boxs).left;
console.log(b2);    //10px
//兼容IE9以下寫法
var b3 = window.getComputedStyle? window.getComputedStyle(boxs).left : boxs.currentStyle.left;
console.log(b3);    //10px

// 3,第三種方法 使用obj.offsetLeft
var c = boxs.offsetLeft;
var c2 = ctns.offsetLeft;
console.log(c);     //值是10
console.log(c2);    //值是20

</script>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,826評論 1 45
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡(luò)信息傳遞的載體。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 4,955評論 0 0
  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,874評論 0 3
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,166評論 1 92
  • 今天天氣挺好的,不冷不熱整個人也是清凈,在這有著忽冷忽熱極端天氣的城市這樣的天氣顯得有點(diǎn)突兀 我真的是個喜歡胡思亂...
    覃貴貴閱讀 359評論 0 0

友情鏈接更多精彩內(nèi)容