1. 程式人生 > >Jquery .position和offset區別

Jquery .position和offset區別

說明:

   position()獲取相對於它最近的具有相對位置(position:relative)的父級元素的距離,
如果找不到這樣的元素,則返回相對於瀏覽器的距離。

  offset()始終返回相對於瀏覽器文件的距離,它會忽略外層元素

 

1》jQuery中offset()方法:獲取或設定指定元素在視窗或文章的偏移位置;

       語法:$(selector).offset(value)

          注:它的value為兩個值一個為left一個為top

2》jQuery中position()方法可以取得元素相對於父元素的偏移位置。

     語法:$(selector).position(value)

     注:它的value為兩個值一個為left一個為top

案例:

<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			#outer {
				width: 200px;
				position: relative;  /*相對位置*/
				left: 200px;
				background: bisque;
				height: 200px;
			}
			
			#inner {
				width: 100%;
				height: 50px;
				position: absolute;  /*絕對位置*/
				left: 50px;
				top: 60px;
				background: chocolate;
			}
		</style>

	</head>

	<body>
		<div id="outer">
			
			<div id="inner">
			</div>
		</div>
	</body>

</html>
<script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript">
	$(function(){
		
		//獲取相對於最近的父級(position:relative)的位置
		var vpos = $("#inner").position();
		alert(vpos.left+"\n"+vpos.top);
		
		//返回相對於瀏覽器文件的距離
		var voff = $("#inner").offset();
		alert(voff.left+"\n"+voff.top);
		
	})
</script>

效果:

position()

offset()