這篇文章主要介紹了淺談jQuery的offset()方法及示例分享的相關資料,需要的朋友可以參考下
offset()方法的定義和用法:
此方法返回或設置所匹配元素相對于document對象的偏移量。
語法結構一
:
$(selector).offset()
獲取匹配元素在當前document的相對偏移。
返回的對象包含兩個整型屬:top和left。
此方法只對可見元素有效。
實例代碼:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset=" utf-8">
- <style type="text/css">
- *{
- margin:0px;
- padding:0px;
- }
- .father{
- border:1px solid black;
- width:400px;
- height:300px;
- padding:10px;
- margin:50px;
- }
- .children{
- height:150px;
- width:200px;
- margin-left:50px;
- background-color:green;
- }
- </style>
- <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $("button").click(function(){
- a=$(".children").offset();
- alert("元素的偏移量坐標是:"+a.top+"|"+a.left+"");
- })
- })
- </script>
- </head>
- <body>
- <div class="father">
- <div class="children"></div>
- </div>
- <button>獲取元素的坐標</button>
- </body>
- </html>
以上代碼可以彈出子div相對于document的偏移量。
語法結構二
:
$(selector).offset(value)
設置匹配元素相對于document對象的坐標。
offset()方法可以讓我們重新設置元素的位置。這個元素的位置是相對于document對象的。
如果對象原先的position樣式屬性是static的話,會被改成relative來實現重定位。
參數列表:
參數描述
value規定以像素計的 top 和 left 坐標。
可能的值:
1.值對,比如 {top:200,left:10}。
2.帶有top和left 屬性的對象。
實例代碼:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset=" utf-8">
- <style type="text/css">
- .father{
- border:1px solid black;
- width:400px;
- height:300px;
- }
- .children{
- height:150px;
- width:200px;
- background-color:green;
- }
- </style>
- <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $("button").click(function(){
- $(".children").offset({top:100,left:100})
- })
- })
- </script>
- </head>
- <body>
- <div class="father">
- <div class="children"></div>
- </div>
- <button>點擊設置偏移量</button>
- </body>
- </html>
以上代碼可以設置div相對于document的偏移量。
語法結構三
:
使用函數的返回值來設置偏移坐標:
$(selector).offset(function(index,oldoffset))
參數列表:
參數描述
function(index,oldvalue)規定返回被選元素新偏移坐標的函數:
index - 可選。元素的索引。
oldvalue - 可選。當前坐標。
實例代碼:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset=" utf-8">
- <style type="text/css">
- .father{
- border:1px solid black;
- width:400px;
- height:300px;
- }
- .children{
- height:150px;
- width:200px;
- background-color:green;
- }
- </style>
- <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $("button").click(function(){
- $(".children").offset(function(a,b){
- var newpoint= new Object();
- newpoint.top=b.top+50;
- newpoint.left=b.left+50;
- return newpoint;
- })
- })
- })
- </script>
- </head>
- <body>
- <div class="father">
- <div class="children"></div>
- </div>
- <button>點擊設置偏移量</button>
- </body>
- </html>
以上代碼同樣可以設置元素的偏移,不過值是通過函數返回。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答
圖片精選