亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

jQuery position() 函數詳解以及jQuery中position函數的應用

2024-05-06 16:26:19
字體:
來源:轉載
供稿:網友
position()函數用于返回當前匹配元素相對于其被定位的祖輩元素的偏移,也就是相對于被定位的祖輩元素的坐標。該函數只對可見元素有效,通過本文給大家介紹jQuery position() 函數詳解以及jQuery中position函數的應用,感興趣的朋友一起學習吧
 

position()函數用于返回當前匹配元素相對于其被定位的祖輩元素的偏移,也就是相對于被定位的祖輩元素的坐標。該函數只對可見元素有效。

所謂"被定位的元素",就是元素的CSS position屬性值為absolute、relative或fixed(只要不是默認的static即可)。

該函數返回一個坐標對象,該對象有一個left屬性和top屬性。屬性值均為數字,它們都以像素(px)為單位。

與offset()不同的是:position()返回的是相對于被定位的祖輩元素的坐標,offset()返回的是相對于當前文檔的坐標。此外,position()函數無法用于設置操作。如果當前元素的祖輩元素全部都是默認定位(static),那么該函數返回的偏移位置與offset()函數相同。

該函數屬于jQuery對象(實例)。

語法

jQuery 1.2 新增該函數。

jQueryObject.position( )

返回值

position()函數的返回值為Object類型,返回一個相對于離它最近的"被定位的"祖輩元素的偏移坐標對象,該對象具有left和top屬性。

如果當前jQuery對象匹配多個元素,返回坐標時,position()函數只以其中第一個匹配的元素為準。如果沒有匹配的元素,則返回undefined。

position()中的坐標參考系是以被定位的祖輩元素的左上角為原點(0,0),向右為正,向下為正。

示例&說明

以下面這段HTML代碼為例:

<br><br><p id="n1"><span id="n2">專注于編程開發技術分享</span></p>

以下jQuery示例代碼用于演示position()函數和offset()函數的用法:

var $n2 = $("#n2");// 輸出n2的偏移坐標var pos = $n2.position();document.writeln( "n2的position()偏移坐標:(" + pos.left + ", " + pos.top + ")" ); // n2的position()偏移坐標:(8, 60)var coord = $n2.offset();document.writeln( "n2的offset()的偏移坐標:(" + coord.left + ", " + coord.top + ")" ); // n2的offset()的偏移坐標:(8, 60)

從上述jQuery的運行結果可知,position()并不是獲取相對于其父元素的偏移位置。如果n2的祖輩元素全部為默認定位,則position()返回的偏移位置和offset()函數一致。

下面,我們將上述HTML代碼中的n1加上相對定位(relative):

<br><br><p id="n1" style="position: relative;" ><span id="n2">專注于編程開發技術分享</span></p>

然后,我們重新執行上述jQuery代碼,可以看到以下結果:

var $n2 = $("#n2");// 輸出n2的偏移坐標var pos = $n2.position();document.writeln( "n2的position()偏移坐標:(" + pos.left + ", " + pos.top + ")" ); // n2的position()偏移坐標:(0, 0)var coord = $n2.offset();document.writeln( "n2的offset()的偏移坐標:(" + coord.left + ", " + coord.top + ")" ); // n2的offset()的偏移坐標:(8, 60)

 

此時,在n2的祖輩元素中,n1是離n2最近的定位的祖輩元素(這里是relative,absolute、fixed也是如此),因此position()返回n2相對于n1的偏移位置。

.jQuery中position函數的應用(居中,超出屏幕處理等)

jQuery提供了一個Position函數,可以很方便的對Html元素進行定位,簡單的使用方法如下:

$(".daygrid").click(function(event){  clickedGrid = $(this);  $(".modal").modal("show");  $(".modal").position({    of:clickedGrid,    offset:" ",    collision:"fit"  });});

上面是一個很常用的用法,注冊一個click時間,然后當有點擊事件發生時,獲取到被點擊的元素,然后將對話框用position方法顯示至界面中。

position函數接受一個options對象,參數有很多

of:表示要放置在那個對象上,也可以傳遞click的event對象

my與at:這兩個比較不容易理解,其實也就是參照物和被參照物,my參數表示用什么位置來做參照而at表示參照目標的那個位置。值范圍為”left center right top bottom”的任意一個或兩個。舉個例子:my:”top left”,at:”left buttom”,這樣配置表示將要被定為的元素的左上角放置在目標元素的左下角。

collision:表示如何處理碰撞,值范圍為:”flip fit none”三選一。flip的官方英文說明看不是很懂,實際測試的效果是,如果超出了預期范圍(如window)則會嘗試將元素放置到目標區域的相反位置。fit是適應,也就是會將元素完整的放置在預期范圍內,而不會讓元素溢出。而none則是不做任何碰撞處理。

offset表示依靠my、at、of對齊元素后再進行多少距離的偏移,例如設置為”100 100″表示移至目標位置后再向下和右偏移100px

常見的使用就是彈出對話框的位置,為了讓對話框在鼠標點擊的位置顯示,則可以將click傳的event對象傳遞給of參數,并且為了保證對話框在窗口范圍內,可以將collision設置為fit。最后再根據實際需求來設置對齊參數my和at,并且用offset進行偏移微調。一個將彈出對話框設置在窗口中央的例子:

$("#myDialog").position({  my: "center",  at: "center",  of: window,  collision:"fit"});

以上內容是小編給大家分享的jQuery position() 函數詳解以及jQuery中position函數的應用的全部敘述,希望大家喜歡。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产成人一区| 欧美日本精品在线| 国产精品久久久一区| 国产日本欧美视频| 亚洲欧美一区二区精品久久久| 国产午夜精品麻豆| 亚洲精品视频免费在线观看| 国内精久久久久久久久久人| 久久久精品一区二区三区| 欧美—级高清免费播放| 7m精品福利视频导航| 久久韩剧网电视剧| 国产91对白在线播放| 色青青草原桃花久久综合| 久久国产天堂福利天堂| 2019日本中文字幕| 国产精品久久久91| 国产精品99久久久久久www| 欧洲日韩成人av| 精品久久久国产精品999| 欧美日韩国产页| 国产精品美女久久久久av超清| 福利视频一区二区| 欧美日韩国产成人在线观看| 日韩视频永久免费观看| 深夜精品寂寞黄网站在线观看| 亚洲国产高潮在线观看| 亚洲品质视频自拍网| 日韩av免费看网站| 欧美成人激情视频免费观看| 日韩精品高清在线| 精品无人国产偷自产在线| 国产成人精品久久| 浅井舞香一区二区| 亚洲国产美女久久久久| 日韩在线国产精品| 国产精品香蕉国产| 欧美自拍视频在线观看| 亚洲精品免费一区二区三区| yellow中文字幕久久| 久久国产精彩视频| 亚洲午夜精品久久久久久性色| 欧美性xxxx极品hd欧美风情| 97久久久久久| 成人黄色免费网站在线观看| 久久久日本电影| 日韩电影免费在线观看中文字幕| 久久五月情影视| 日韩精品极品视频| 亚洲va久久久噜噜噜久久天堂| 国产97人人超碰caoprom| 久久久久久成人精品| 欧美中在线观看| 久久精品一区中文字幕| 精品成人久久av| 韩国欧美亚洲国产| 亚洲精品日产aⅴ| 亚洲欧美日韩高清| 日韩电影在线观看免费| 亚洲午夜未删减在线观看| 久久久噜噜噜久久中文字免| 欧美视频第一页| 亚洲国产成人精品一区二区| **欧美日韩vr在线| 色999日韩欧美国产| 国产视频久久网| 日韩av在线一区二区| 中文字幕日韩欧美在线视频| 精品国产美女在线| 日韩精品视频免费在线观看| 国产成人综合精品| 国产香蕉一区二区三区在线视频| 国产精品亚洲片夜色在线| 国产精品十八以下禁看| 久久精品国产电影| 亚洲国产精品系列| 日韩av电影手机在线观看| 久久精品国亚洲| 亚洲自拍偷拍视频| 亚洲性日韩精品一区二区| 97精品欧美一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 欧美激情精品久久久久久黑人| 日韩欧美中文在线| 国产精品久久久久免费a∨大胸| 欧美激情在线观看视频| 亚洲最大福利视频网站| 韩国国内大量揄拍精品视频| 亚洲国产97在线精品一区| 亚洲精品久久久久久久久| 日韩电影中文字幕av| 亚洲va电影大全| 日韩欧美在线第一页| 久久久久www| 欧美性猛交xxxx| 久久久久久久久久久国产| 日韩欧美国产骚| 国产午夜精品免费一区二区三区| 91亚洲精华国产精华| 一区二区在线视频播放| 亚洲免费视频观看| 亚洲福利在线看| 亚洲视频专区在线| 91精品久久久久久久| 在线午夜精品自拍| 国产精品久久久久国产a级| 国产精品久久久久久久美男| 海角国产乱辈乱精品视频| 91久久久久久久一区二区| 免费成人高清视频| 中文字幕久久亚洲| 国产精品亚洲综合天堂夜夜| 国产有码一区二区| 亚洲男人天堂网| 26uuu另类亚洲欧美日本老年| 亚洲va男人天堂| 精品高清美女精品国产区| 国产精品久久久久福利| 92福利视频午夜1000合集在线观看| 91av成人在线| 亚洲淫片在线视频| 亚洲精品第一页| 欧美大秀在线观看| 日韩成人激情在线| 亚洲免费av片| 精品视频中文字幕| 91久热免费在线视频| 国产97在线视频| 亚洲第一黄色网| 国产午夜精品理论片a级探花| 国产精品香蕉在线观看| 国产精品一区二区三区免费视频| 日韩专区中文字幕| 欧美日韩午夜剧场| 亚洲国产又黄又爽女人高潮的| 一个人www欧美| 国产精品嫩草影院久久久| 欧美老少做受xxxx高潮| 亚洲精品一区久久久久久| 91精品国产色综合久久不卡98口| 欧美激情久久久| 成人免费激情视频| zzijzzij亚洲日本成熟少妇| 免费不卡在线观看av| 色吧影院999| 亚洲福利视频免费观看| 精品亚洲一区二区三区| 久久97久久97精品免视看| 欧美精品精品精品精品免费| 38少妇精品导航| 欧美另类交人妖| 精品亚洲精品福利线在观看| 久久人体大胆视频| 亚洲高清在线观看| 精品色蜜蜜精品视频在线观看| 九色91av视频| 日本午夜精品理论片a级appf发布| 欧美日韩成人免费| 日本精品一区二区三区在线| 欧美乱人伦中文字幕在线| 日本人成精品视频在线| 日韩在线视频中文字幕| 国产精品美女主播| 国产97色在线|