2013-10-22 2 views
1

HTML 표가 있습니다. 너무 화려하지는 않습니다. 그것은 thead와 tbody가 있습니다. 나는 tbody만을 아래로 움직이기 위해 어떻게 javascript 나 jQuery를 사용할 수 있는지 궁금했다.HTML : 어떻게 개체의 위치를 ​​이동할 수 있습니까?

편집 : 그래서 내가하는 일에 대해 약간의 맥락을 제공합니다. 나는 정보가 담긴 테이블을 가지고있다. jQuery를 사용하여 머리글을 제자리에 고정하여 머리글을 아래로 스크롤 할 때 여전히 고정되어 있습니다. 머리글과 첫 번째 줄이 겹치는 작은 문제로 모두 잘 작동합니다. 그래서 tbody의 꼭대기를 움직여야합니다. 의미 머리글은 제자리에 머물러 있으며 본문은 테이블의 첫 번째 행 (즉, 머리글 뒤의 첫 번째 행)을 볼 수 있도록 약간 아래로 이동합니다.

jQuery 또는 javascript로이를 수행하는 방법이 있는지 궁금합니다.

+0

당신이 "아래 [그것을] 이동"_ 무엇을 의미합니까 도움이됩니다 희망? 나중에 _DOM 트리 _에? 다르게 스타일? –

+0

당신이하고 싶은 일에 대해 좀 더 자세히 설명해 주시겠습니까? 이것은 자바 스크립트보다는 CSS로 더 좋은 것으로 들린다. –

+1

몇 가지 코드를 보여주고 원하는 것을 정확하게 설명하십시오.jsFiddle의 예제가 완벽 할 것입니다. –

답변

-1

당신은 jQuery의 스크롤 방법을 사용할 수 있습니다 http://api.jquery.com/scroll/

나는 더 많은 정보가 필요하지만, 이런 식으로 뭔가 할 것 같은데 :

$(window).scroll(function(){ 
    $("table").animate({marginTop: 50}, 250); 
}); 

이 편집 : 알아요이 답변이 승인되었습니다 맞지만 내가 downbotes에 의해 명백한 것처럼 질문을 오해 한 것 같습니다. OP가 테이블을 내려 놓고 머리글처럼 고정되어 있다고 생각했습니다. 스크롤 방법을 제안했습니다. 스크롤 방법은 테이블을 스크롤 할 때 위치 상태를 변경하는 방법입니다. 다른 사람들이 지적했듯이

당신은 단순히과 같이 원하는 헤더 + 간격의 높이 아래의 표를 밀어 원하는 :

table { 
    margin-top: 80px; 
} 
+0

고마워, 이것이 내가 필요한거야. 관련 섹션이 약 300 라인이고 코드 자체가 9000 라인이 넘고 9 개의 외부 .js 파일로 인해 코드를 게시하지 않아서 유감스럽게 생각합니다. 그래서 jsFiddle이 처리하지 못했습니다. – aamunye

+0

이 방법이 문제를 해결했는지 여부에 관계없이 올바른 방법은 아닙니다. 이 코드를 사용하면 스크롤 이벤트가 발생할 때마다 애니메이션 기능을 실행하고 있습니다. 스크롤 기능은 스크롤 스 와이프 때마다 수십 번 발생합니다. 또한 속성을 계속해서 동일한 위치로 애니 메이팅하면 처음 실행 한 후에 아무런 영향을주지 않습니다. 당신은 이것을 위해 jquery를 사용해서는 안됩니다. 동일한 효과는 css로 얻을 수 있습니다. –

+0

데모로이 피들 (http://jsfiddle.net/NvCET/)을 설정했습니다. 스크롤하여 함수 호출 횟수가 급격하게 증가하는지 확인합니다. 그런 다음 * 모든 자바 스크립트 *를 삭제하고 다시 실행 해보십시오. 차이점은 없습니다. 거기에 js를 추가하면 순환주기에 불과하므로 불필요한 낭비이며 문제를 해결하는 올바른 방법이 아닙니다. –

0

여기에서 문제를 재현하려고 시도했습니다. 확실히 동일한 효과를 얻는 더 좋은 방법이 있지만이 코드는 사용자가 가지고있는 코드입니까? 이 테이블 헤더 고정 유지하기 위해 jQuery를 사용할 필요가 없다, 그래서 CSS를 사용 :

http://jsfiddle.net/LLjdk/

관련 CSS :

테이블 헤더 (스크롤 이동)를 고정하는 것으로
thead { 
    position: fixed; 
    background: #fff; 
} 

table { 
    margin-top: 28px 
} 

, 배경이 설정되어 테이블의 나머지 부분이 뒤에 오면 그 부분은 보이지 않습니다. 마침내 테이블 상단에 여백이 추가되어 겹치지 않게됩니다.

0

나는 확실하지 않다이게 당신이 찾고있는 경우 귀하의 설명에 따르면 귀하는 thead을 항상 페이지 상단에 표시하려고하고 있음을 이해합니다. 여기에 내가 생각해 낸 것이있다.

thead { 
    position: fixed; 
    top: 0; 
    left: 0; 
    background-color: white; 
} 
table { 
    margin-top: 30px; 
} 

DEMO

는 _ 당신이

관련 문제