DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 淺談jQuery的offset()方法及示例分享
淺談jQuery的offset()方法及示例分享
編輯:關於JavaScript     

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>

以上代碼同樣可以設置元素的偏移,不過值是通過函數返回。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved