2012-02-27 9 views
2

position : relative를 가진 래퍼를 요소가 무시할 수 있는지 알고 싶을뿐입니다.요소를 무시 위치로 만들 수 있습니까?

절대 위치로 배치되는 jQuery를 사용하여 요소를 만들고 있는데, 사용자가 요소를 배치하는 방법에 관계없이 작동해야합니다.

입력란과 함께 래퍼 내에 배치해야하므로 BODY 태그에 배치 할 수 없습니다.

아이디어가 있으십니까?

업데이트 : 해결 방법을 찾았습니다. jQuery .offset()을 사용하여 문서의 위치를 ​​얻었습니다. 상위 요소 내부에서 요소의 위치를 ​​가져 오는 .position()으로 수정했습니다. 이제는 작동합니다

+3

아니, 나는 그렇게 생각하지 않는다. 일반적인 해결 방법은 jQuery를 사용하여 요소를 래퍼 외부의 위치로 잘라내어 붙여 넣는 것입니다. –

+0

요소와 입력 필드가 포함 된 래퍼를 본문에 추가하지 않는 이유는 무엇입니까? 메신저에 뭔가 빠진 게 아니라면 요? – Alex

+0

@Alex Thomas : 래퍼는'position : relative'을 가지고 있으며, 요소를 가지고 운반 할 수도 있습니다. – BoltClock

답변

0

아마도 뭔가가 빠졌는데 어쩌면 resize 이벤트를 모니터링하고 요소를 다시 배치 할 수 있습니다. http://api.jquery.com/resize/

+0

크기 조정과 관련이 없습니다. 문제는 양식이 있고 그 안에 입력 필드가 있다는 것입니다. 사용자가 입력 필드를 클릭하면 입력 필드에 오류 상자가 표시됩니다. 위치는 입력 상자 위치로 계산 된 다음 구석에 배치됩니다. 그러나 사용자가 상대적으로 폼을 가지고 있다면 오류 박스가 잘못 배치됩니다. – Lasse

+2

@QuakeDK : 질문에 코드를 추가 할 수 있습니까? – BoltClock

+0

@BoltClock : 저는 QuakeDK에 동의합니다, 우리는 예제 사이트 나 코드를 볼 필요가 있다고 생각합니다. – Alex

0

생각이 어떤 입장도 없었다 것처럼 왼쪽 상단 속성을 설정하는 것입니다 : 상대 부모와 추가하면 클래스 "body_pos"를 말할 수 :

$(function() { 
    $('.body_pos').each(function() { 
    var offset = $(this).offset(); 
    $(this).css({ 
     left : '-='+offset.left, 
     top : '-='+offset.top 
    }); 
    }); 
}); 

예 : 당신은 왼쪽 설정 한 : 50px, 요소는 왼쪽에 위치 : 문서에서 100px, 왼쪽에 위치 : -50px.

여백 안에 위치하지 않는 한 원하는 효과를 부여해야합니다 : 0 자동 상자 및 창 크기가 조정 된 것 같습니다.

+0

이것이 무엇인지 알 수는 없지만 위치를 제거하려고 시도했습니다 : 절대적이며 왼쪽, 위쪽 만 사용하지만 그 영향은 요소에 영향을 줍니까? – Lasse

+0

이것은 현명한 해결 방법이지만 부모 컨테이너의'overflow'가'hidden'으로 설정되지 않은 경우에만 작동합니다. –

+0

'offset()'을 제안하려고했습니다. 는'position()'에 의해 영향을 받고 요소는 오버플로됩니까? @ 페카 – Alex

관련 문제