2013-02-15 32 views
6

Mục tiêu là chuyển từ các tab sang thu gọn kiểu accordion khi trang web có chiều rộng nhỏ hơn 676px. Chúng tôi đang sử dụng Bootstrap.Chuyển từ tab sang thu gọn để đáp ứng

Chúng tôi sẽ ẩn các tab ul.nav và a.accordtion-toggle tương ứng với css. Các tab hoạt động ở đây, nhưng a.accordion-toggle không hoạt động. Bất kỳ ý tưởng?

<ul class="nav nav-tabs" id="myTab" data-tabs="tabs"> 
    <li class="active"><a href="#panel1" data-toggle="tab">Panel 1</a></li>  
    <li class="active"><a href="#panel2" data-toggle="tab">Panel 2</a></li> 
</ul> 

<a class="accordion-toggle" data-toggle="collapse" data-target="#panel>Panel 1</a> 
    <div class="tab-pane collapse" id="panel1"> 
Panel 1 Content 
    </div> 
<a class="accordion-toggle" data-toggle="collapse" data-target="#pane2>Panel 2</a> 
    <div class="tab-pane collapse" id="panel2"> 
Panel 2 Content 
    </div> 

<script> 
    jQuery(document).ready(function ($) { 
    if (document.documentElement.clientWidth < 767) { 
     $('#myTab a').click(function (e) { 
      e.preventDefault(); 
     } 

     $(".collapse").collapse(); 
    }    
    }); 
</script> 
+0

Mã dán đã mất tích quote trên các thuộc tính và JS không làm gì cả. Một trong '.accordion-toggle [data-target]' cũng không đầy đủ. – Sherbrow

+0

Bạn có nghĩ đến việc sử dụng plugin thu gọn trong '.nav-tabs' thay vì plugin tab không? – Sherbrow

Trả lời

1

tôi đã cố gắng một chút trên this jsfiddle nhưng nó có vẻ phức tạp để làm cho cả hai plugin làm việc cùng nhau.

Có thể tốt hơn nên chọn một trong các plugin, chỉ sử dụng các lớp và JS của plugin này và sau đó triển khai trình kích hoạt của riêng bạn để hoàn tất hành vi mặc định.


Tôi nghĩ rằng hành vi accordion của plugin thu gọn cần cấu trúc .accordion-group > .collapse.in hoạt động bình thường - nếu bạn không sử dụng JS của riêng mình.

0

Tôi đã kết thúc lồng các trình kích hoạt tab bên trong một div với nội dung được gắn thẻ (thay vì danh sách ở trên) và sử dụng css để định vị chúng như các tab cho chế độ xem toàn màn hình. Không lý tưởng nhưng hoạt động miễn là dữ liệu chuyển đổi và mục tiêu dữ liệu được đặt ra.

0

Không chắc chắn nếu nó giúp nhưng bạn có thể sử dụng window.onresize = function() {} và kiểm tra chiều rộng của container chính của bạn. Khi nó nhỏ hơn một số chiều rộng, bạn có thể thay thế nội dung bằng cách sử dụng js.

+0

điều này là chống lại thiết kế của bootstrap. Kích thước Col và @media được ưu tiên nhiều trong tài liệu khi chúng phát đẹp hơn với nhiều trình duyệt hơn. – GeorgeWL

11

Trong trường hợp của tôi, chỉ cần sao chép các tab nội dung vào accordion ẩn hoạt động tốt.

Đây là nguồn Tôi trích ra để nhỏ Plugin - Bootstrap Tab Collapse