2014-09-19 4 views
0

사용자가 "더 많은 행을 보려면 여기를 클릭하십시오."와 같은 것을 클릭하면 테이블의 마지막 두 줄을 접고 접기를 원합니다. 이는 처음 두 행의 마지막 행으로 표시되고 사용자가 다시 접으려면 일부 토글 버튼으로 바뀝니다.테이블 행을 접는 방법 (IE8 지원 포함)?

CSS2를 통해서만 there's no way to do this을 이해 한 후, IE8 지원을 원한다면 javascript/jquery를 사용해야 할 것입니다.

jquery 아코디언 예제를 발견하여 테이블에서 구현하려고했지만 실제로 작동하지 않았습니다. (거의 단지 웹 사이트에 대한이를 패치하려고, JQuery와 지식을 가지고)

Here's a fiddle

<div class="open"> '와 함께 마지막 두 행을 마무리 시도했지만 작동하지 않았다.

IE7에서는 불가능할 경우 모든 행이 처음부터 collapased되도록합니다.

HTML :

<table border="1"> 
    <col style="width:120px;" /> 
    <col style="width:120px;" /> 
    <col style="width:120px;" /> 
    <col style="width:120px;" /> 
    <col style="width:120px;" /> 
    <thead> 
     <tr> 
     <th>1</th> 
     <th>2</th> 
     <th>3</th> 
     <th>4</th> 
     <th>5</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr class="open"> 
     <td>a</td> 
     <td>b</td> 
     <td>c</td> 
     <td>d</td> 
     <td>e</td> 
     </tr> 
     <tr> 
     <td>a</td> 
     <td>b</td> 
     <td>c</td> 
     <td>d</td> 
     <td>e</td> 
     </tr> 
     <tr> 
     <td>a</td> 
     <td>b</td> 
     <td>c</td> 
     <td>d</td> 
     <td>e</td> 
     </tr> 
    </tbody> 
    </table> 

자바 스크립트 :

$(document).ready(function() { 
    $('table').accordion({collapsible: true,active: false,header: '.open' }); 
}); 
+0

[tablesaw.js] (https://github.com/filamentgroup/tablesaw)는이 기능이있는 자바 스크립트 라이브러리입니다. 정말 쉽습니다. 태그 만 수정하면됩니다. [여기에 데모가있다] (http://filamentgroup.github.io/tablesaw/demo/toggle.html), 네 IE8 지원이있다 –

+0

그 안에 버튼이있는 테이블 행을 원합니까? – Tengiz

+0

@ J-Dizzle 접을 수 있어야하지만, 어떤 사용자라도 즉시 작동 할 수 있습니다. – rockyraw

답변

1

http://jsfiddle.net/4rkkksmd/4/

자바 스크립트 :

$('tr.btn td').click(function(){ 
    $('tr.hidden .slide').toggle(200) 
}); 

HTML :

<table border="1"> 
    <thead> 
    <tr> 
     <th>1</th> 
     <th>2</th> 
     <th>3</th> 
     <th>4</th> 
     <th>5asdfasdfasdf</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr class="btn"> 
     <td colspan="5">Click me</td> 
    </tr> 
    <tr class="hidden"> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
    </tr> 
    <tr class="hidden"> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
    </tr> 
    <tr class="hidden"> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
     <td> 
      <div class="slide"> 
       asd 
      </div> 
     </td> 
    </tr> 
    <tr> 
     <td>a</td> 
     <td>b</td> 
     <td>c</td> 
     <td>d</td> 
     <td>e</td> 
    </tr> 
    </tbody> 
</table> 
+0

감사합니다. 재미있는 것처럼 보이지만 아래쪽 애니메이션을 늘리는 것과 같이 다른 애니메이션을 선택하려면 어떻게해야합니까? 또한 처음에는 행을 숨기고 클릭하면 접을 필요가 있습니다. 어디에서 전환합니까? – rockyraw

+0

CSS 속성 추가 tr.hidden {display : none} – Tengiz

+0

http://jsfiddle.net/4rkkksmd/4/ 여기 내 친구가됩니다. – Tengiz