2014-04-15 3 views
1

div를 사용하는 동안 비슷한 방식으로 '애니메이션 방식으로'전체 표 행이나 모든 셀을 위아래로 슬라이드 할 수 있습니까? 내가 체크 한 이후로, 그것의 다만 전시 또는 숨기기 그러나 어떤 생기없는도.jQuery는 HTML 테이블에서 'animation'을 토글합니다.

HTML :

<table> 
<tbody> 
    <tr id="target"> 
     <td>User</td> 
     <td>will</td> 
     <td>click</td> 
     <td>me</td> 
    </tr> 
    <tr id="subject"> 
     <td>And</td> 
     <td>I</td> 
     <td>should</td> 
     <td>expand</td> 
    </tr> 
</tbody> 

CSS :

* { margin: 0; padding: 0; } 

table { margin: 0 auto; } 
table tr { background: #d4d4d4; } 
table tr > td { width: 80px; } 

jQuery를 :

<script src="jquery.js"></script> 
    <script>$(document).ready(function(){ 
    $('#subject').hide(); 
    $('#target').click(function() { 
    $('#subject').slideToggle(); 
    }); 
}); 
</script> 
+0

당신은 바이올린을 공유 할 수 있습니까? – Janak

+0

@janakshah - 그냥 모든 내용을 추가 할 수 있습니다. http://jsfiddle.net/n9GQF/2/ – urbz

답변

1

테이블 요소에 애니메이션이 작동하지 않거나 예상대로 작동하지 않습니다. Div의 내부 애니메이션 인 td을 사용하면 멋진 애니메이션을 얻을 수 있습니다. 테이블 td에 대한 다이렉트 애니메이션은 즉시 숨기고 표시합니다.

2

테이블은 높이를 자체 제어합니다. 당신은 그럴

display: block; 

에 변경하거나 사업부와 내부를 포장 할 수 있습니다. 브라우저가 표시 디스플레이 속성에 대해 다른 값 (표 열 블록)을 사용하기 때문에, 애니메이션 http://jsfiddle.net/G7BaJ/

+0

'div로 내부 처리'를 의미합니다. 5 셀에 데이터가 있으면 5가 있어야합니다. divs와 스크립트에서 각각 애니메이션을 불러 오기 위해 호출해야합니까? 또한 'display : block'을 돌리면 부작용이 생기고, tr 요소에 추가 할 변경 사항은 보통 tr과 비교할 때 변경됩니다. – ravk

+0

디스플레이 : 블록; 부작용이있을 것입니다. 그러나 나는 어떤 특정한 부작용이 있는지 모른다. 디스플레이 : 블록; tr을 일반 div의 동작으로 변경하고 있습니다. 줄 바꿈과 함께, 예, 당신은 5 div를 생성해야하지만 이것은 테이블의 부작용을 일으키지 않습니다. 각 div를 애니메이션으로 호출 할 필요는 없습니다. jQuery ('tr> div')를 사용하여 생각;) –

관련 문제