2011-12-21 2 views
0

메뉴가 제대로 작동하지 않습니다. http://jsfiddle.net/PX9nU/1/CSS 위치로 .position 사용 : 상대방이 예상대로 작동하지 않음

#menu li에서 position: relative을 그대로두면 콘솔에서 모든 메뉴 항목의 왼쪽에 0을 기록합니다. position: relative을 제거하면 각 항목에 대해 예상되는 올바른 왼쪽 값이 기록됩니다.

하위 메뉴를 올바르게 포맷하려면 해당 위치에 position: relative이 필요하지만 달성하려고하는 일부 애니메이션의 경우 올바르게 출력하려면 왼쪽 값이 필요합니다.

- 왼쪽에서 position: relative으로 예상 값을 반환하지 않는 이유는 무엇입니까?

- 각 항목에 대해 왼쪽 값을 가져 오는 또 다른 방법은 무엇입니까?

+0

정확히 예상되는 값은 무엇입니까? position : relative (또는 해당 위치에 대한 임의의 위치)를 설정하면 다른 옵션을 설정할 때까지 기본값은 0으로 설정됩니다. 제공 한 링크에서 요소의 left 또는 top 속성을 설정하지 않았습니다. –

+0

.Offset() 메서드를 사용해보십시오 – frenchie

답변

1

문제점은 jQuery 선택기입니다. $('#menu li .item')으로 선택하면 링크 요소가 다시 제공됩니다. position()을 호출하면 상위 요소 내에서 해당 위치를 제공하며, 해당 LI는 각각의 경우 0,0입니다. 내 생각 엔 당신이이 방법으로 얻을 수있는 동봉 된 LI의 위치를 ​​원한다고 생각합니다.

p = $(this).parent().position(); 
+0

감사합니다! 그 일은 이제 끝났고 이제는 완벽하게 이해할 수 있습니다. 고마워 – TH1981

관련 문제