2015-01-22 20 views
19

Tôi có thông số tìm kiếm thanh bên. Tôi chỉ muốn thực hiện chức năng thu gọn trên DIV này trên thiết bị di động. Sử dụng Bootstrap 3 - Phiên bản mới nhất.Chỉ thu gọn DIV trên Chế độ xem di động - Bootstrap 3

Đây là Đánh dấu HTML.

<div class="col-md-3 col-sm-4 SearchParameters"> 
      <h4 data-toggle="collapse" data-target="#search">Location</h4> 
      <div class="col-md-12 sCheck no-gutter collapse" id="search"> 
       <h5>Lahore (254)</h5> 
       <div class="col-md-12"> 
        <form role="form"> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="ModelTown"> 
          <label for="ModelTown">Model Town</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="DHA"> 
          <label for="DHA">DHA</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="CG"> 
          <label for="CG">Cavalry Ground</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="Gulberg"> 
          <label for="Gulberg">Gulberg</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="Samnabad"> 
          <label for="Samnabad">Samnabad</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="AIT"> 
          <label for="AIT">Allama Iqbal Town</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="GardenTown"> 
          <label for="GardenTown">Garden Town</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="Township"> 
          <label for="Township">Township</label> 
         </div> 
         <div class="checkbox checkbox-primary"> 
          <input type="checkbox" id="FaisalTown"> 
          <label for="FaisalTown">Faisal Town</label> 
         </div> 
         <a href="#">20 more locations</a> 
        </form> 
       </div><!-- form-group --> 
       <div class="clearfix"></div> 
       <h5 class="second">Availability</h5> 

       <div class="col-md-12 SelectDays"> 
        <a href="#" class="Day">M</a> 
        <a href="#" class="Day">T</a> 
        <a href="#" class="Day active">W</a> 
        <a href="#" class="Day">Th</a> 
        <a href="#" class="Day">F</a> 
        <a href="#" class="Day">S</a> 
        <a href="#" class="Day">SU</a> 
       </div><!-- SelectDays --> 

       <div class="col-md-12 TimeSet"> 
        <!-- timeFunction --> 
       </div><!-- TimeSet --> 

      </div><!-- col-md-12 --> 
     </div><!-- SearchParameters --> 

Các tham số tìm kiếm DIV tôi sử dụng để tạo kiểu cho mã.

Lưu ý: Tôi muốn thu gọn div "SearchParameters" div chỉ trên thiết bị di động và mở bằng nút .. Chỉ nên có 1 div. Tôi có thể ẩn div này và hiển thị một div khác hiển thị trên thiết bị di động nhưng đó không phải là cách tiếp cận tốt. Tôi muốn thu gọn div này và chỉ hiển thị nó trên nút bấm trên thiết bị di động.

+0

Muốn ẩn 'div'? – Junaid

+0

Tôi muốn thu gọn chỉ "div tìm kiếm" trên thiết bị di động và mở nó bằng một nút. –

Trả lời

25

Bạn có thể làm theo cách này:

<button class="visible-xs" data-toggle="collapse" data-target="#SearchParameters">Toggle it</button> 

<div class="hidden-xs col-md-3 col-sm-4 SearchParameters" id="SearchParameters"> 
... 

CSS:

#SearchParameters.in, 
#SearchParameters.collapsing { 
    display: block!important; 
} 
+0

Giải pháp này không hoạt động trong Bootstrap 3.3.5, bằng cách sử dụng 'ẩn-xs' có nghĩa là vùng đóng mở không mở rộng ở tất cả – Anthony

+0

Cảm ơn, câu trả lời đã chỉnh sửa, do đó, nó sẽ sụp đổ. – Rudi

+0

@Rudi atill không hoạt động đối với tôi trên bootstrap 3 –

10

Kể từ khi "trong" lớp học là những gì xác định các yếu tố đóng mở như mở, loại bỏ nó vào nguyên nhân di động nó để bắt đầu hết hiệu lực.

Ví dụ:

<button data-toggle="collapse" data-target="#collapsible">Show/Hide</button> 
<div class="collapse in" id="collapsible"> 
    Content Here. 
</div> 
<div class="visible-xs" id="xs-check"></div> 
<script> 
if($("#xs-check").is(":visible")) 
    $("#collapsible").removeClass("in"); 
</script> 
+0

Tôi đã chọn làm theo cách khác xung quanh (thêm lớp' in' nếu dấu kiểm bị ẩn). – guival

0

Tại sao không sử dụng window.matchMedia?

Để đơn giản, tôi đã tạo một ví dụ dựa trên Andrew Dinmore. Nó không cần div trống thêm để kiểm tra xem nội dung nào đó có hiển thị hay không.

<button class="btn btn-default btn-block visible-xs hidden-sm hidden-md hidden-lg" data-toggle="collapse" data-target="#Foo">Toggle</button> 

<div id="Foo" class="collapse in"> 
    <!-- fancy content here --> 
</div> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     if (matchMedia) { 
     var mq = window.matchMedia("(max-width: 768px)"); 
     mq.addListener(WidthChange); 
     WidthChange(mq); 
     } 

     function WidthChange(mq) { 
     if (mq.matches) { 
      $("#Foo").removeClass("in"); 
     } 
     } 
    }); 
    </script> 

tận hưởng! ;-)

+0

Chỉ cần lưu ý, trong trường hợp nó quan tâm đến bất kỳ ai, có một vài lý do tôi thường kiểm tra khả năng hiển thị yếu tố, thay vì sử dụng matchMedia. Việc đầu tiên, mặc dù gần như hoàn toàn không liên quan bây giờ, là IE <10 không hỗ trợ nó. Lý do chính, tuy nhiên, là rất ít dự án (chắc chắn tôi đã làm việc) được thiết lập để cho phép các giá trị được chia sẻ giữa JavaScript và CSS, điều này có thể dẫn đến các vấn đề nếu cần phải chỉnh sửa điểm ngắt và ai đó không nhận ra. Có rất nhiều cách để làm như vậy với bất kỳ hệ thống xây dựng phong nha, nhưng nó rất hiếm khi cần thiết không ai có vẻ bận tâm. –

+1

Tất nhiên, không có gì sai khi sử dụng matchMedia mỗi lần nói; nó thực sự là một cách hợp lý hơn về kỹ thuật để thực hiện công việc. Tuy nhiên, nếu quá trình xây dựng không được thiết lập để chia sẻ giá trị điểm ngắt, tôi không nghĩ rằng thêm một vài byte là bất cứ điều gì cần phải lo lắng về vấn đề, chắc chắn không phải với lượng dữ liệu cần thiết cho trang trung bình những ngày này. –

Các vấn đề liên quan