offset() 메소드 정의 및 사용법:
이 메소드는 문서 객체를 기준으로 일치하는 요소의 오프셋을 반환하거나 설정합니다.
문법 구조 1:
$(selector).offset()
현재 문서에서 일치하는 요소의 상대 오프셋을 가져옵니다.
반환된 객체에는 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의 오프셋을 팝업으로 표시할 수 있습니다.
문법 구조 2:
$(선택기).offset(값)
문서 개체를 기준으로 일치하는 요소의 좌표를 설정합니다.
offset() 메소드를 사용하면 요소의 위치를 재설정할 수 있습니다. 이 요소의 위치는 문서 개체를 기준으로 합니다.
객체의 원래 위치 스타일 속성이 정적이면 재배치를 구현하기 위해 상대 스타일 속성으로 변경됩니다.
매개변수 목록:
매개변수 설명
값은 위쪽 및 왼쪽 좌표를 픽셀 단위로 지정합니다.
가능한 값:
1. {top:200,left:10}과 같은 값 쌍.
2. 위쪽 및 왼쪽 특성이 있는 개체입니다.
예제 코드:
<!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의 오프셋을 설정할 수 있습니다.
문법 구조 3:
함수 반환 값을 사용하여 오프셋 좌표를 설정합니다.
$(selector).offset(function(index,oldoffset))
매개변수 목록:
매개변수 설명
function(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>
위 코드에서도 요소의 오프셋을 설정할 수 있는데 그 값이 함수를 통해 반환됩니다.
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.