1樓:青鳥中關村專家
jquery 中有兩個獲取元素位置的方法offset()和position()
1、offset(): 獲取匹配元素在當前視口的相對偏移
返回的物件包含兩個整形屬性:top 和 left;此方法只對可見元素有效
2、position(): 獲取匹配元素相對父元素的偏移
返回的物件包含兩個整形屬性:top 和 left;為精確計算結果,請在補白、邊框和填充屬性上使用畫素單位;此方法只對可見元素有效
// get *real* offsetparent
var offsetparent = this.offsetparent(),
// get correct offsets
offset = this.offset(),
parentoffset = /^body|html$/i.test(offsetparent[0].tagname) ?
: offsetparent.offset();
// subtract element margins
// note: when an element has margin: auto the offsetleft and marginleft
// are the same in safari causing offset.left to incorrectly be 0
offset.top -= num( this, 'margintop' );
offset.left -= num( this, 'marginleft' );
// add offsetparent borders
parentoffset.top += num( offsetparent, 'bordertopwidth' );
parentoffset.left += num( offsetparent, 'borderleftwidth' );
// subtract the two offsets
results = ;
結論:使用position()方法時事實上是把該元素當絕對定位來處理,獲取的是該元素相當於最近的一個擁有絕對或者相對定位的父元素的偏移位置
使用position()方法時如果其所有的父元素都為預設定位(static)方式,則其處理方式和offset()一樣,是當前視窗的相對偏移
使用offset()方法不管該元素如何定位,也不管其父元素如何定位,都是獲取的該元素相對於當前視口的偏移
2樓:匿名使用者
獲取頁面某一元素的絕對x,y座標
var x = $('#divid').offset().top;
var y = $('#divid').offset().left;
獲取相對(父元素)位置:
var x = $('#divid').position().top;
var y = $('#divid').position().left;
3樓:
好像是獲得標籤物件,再得到物件的屬性
4樓:匿名使用者
你是想要達到什麼效果?能說明白一點麼~
用js(最好jQuery)重寫confirm方法
confirm function msg,func1,func2,w,h function confirm msg,func1,func2,w,h 這裡還可以判斷msg的長度進行排版,並調整彈出框的大小 install window.top,opts dialogdata.dialogdiv.fin...
thinkphp系統標籤不解析,從資料庫取出thinkphp標籤未被解析,怎麼解決?
第一步你需要在控制器裡面直接var dump下看下是否有資料,第二步才是輸出到頁面。從資料庫取出thinkphp標籤未被解析,怎麼解決?5 htmlspecialchars 函式 htmlspecialchars decode 函式http www.w3school.thinkphp else標籤中...
我用jquery進行post提交資料那提交的資料格式和
這個格式完全由你來控制 返回的格式要你請求的那個頁面輸出什麼格式 就返回什麼樣的格式 jquery post資料到後臺然後再返回資料到前臺 是的,在後臺輸出結果 在前臺的success裡接收,success function data jquery 怎樣post資料後不需要返回值,直接跳到post的...