loading

offset 메서드는 요소를 top/left의 위치를 조정해서 위치를 이동을 시킨다.

하지만 이 offset은 어떤 기준점의 좌표로 top/left를 이동하는지 알아보자.

 

▶ offset() 메서드

$('선택자').offset({top:숫자, left:숫자});
→ 선택자 요소를 top/left의 숫자만큼 이동시키는데 그 기준점은 문서의 좌측 상단을 기준으로 한다.

 

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
	<style type="text/css">
		html,body{
			margin: 0px;
		}

		#A-1{
			width: 100px;
			height: 100px;
			background-color: red;
		}

	</style>
	<script type="text/javascript">
		$(document).ready(function(){
		    var $A = $('#A-1');

		    $A.offset({top:100, left:100});
		});
	</script>	
</head>

<body>
    <div id="A-1"></div>
</body>
</html>​

 

 

위 코드를 보면 A-1 태그에 top/left를 100씩 줬다. 그래서 아래 결과 화면을 보면

 

A-1 태그 top/left 100

 

기준점으로부터 top 100/ left 100을 이동시켰다.

 

이제 다른 예제를 적용시켜 보자.

body 태그에 패딩 값 200을 적용시켜서 offset 메서드를 사용해보자.

 

body 태그에 패딩 값을 200을 적용

body 태그에 패딩값 200 적용

 

이제 이 상태에서 A-1 태그에 offset 메서드로 top/left 둘 다 100씩 적용시켜 보겠다.

아래 어떤 결과가 나타나는지 보자.

 

결과는 

body 태그에 패딩값 200 적용 후 A-1 태그 top/left 100&nbsp; 적용

 

처음 A-1 태그 top/left 100 적용시킨 것과 같다.

 

즉, 이런 결과를 보았을 때 offset 메서드는 문서(document)의 좌측 상단의 기준점으로부터

적용되는 것을 알 수 있다.

반응형

+ Recent posts