2013-04-22 26 views
49

Tôi đang sử dụng mẫu bootstrap và tôi muốn thay đổi cách hoạt động của accordion theo mặc định.bootstrap ban đầu phần tử bị sập

Làm cách nào để chuyển đổi được đóng khi trang được nhìn thấy lần đầu tiên (khi tải)?

<div class="accordion-heading"> 
    <a class="accordion-toggle" 
     data-toggle="collapse" 
     data-parent="#accordion2" 
     href="#collapseOne">Open!</a> 
</div> 
<div id="collapseOne" class="accordion-body collapse in"> 
    <div class="span6"> 
     <div class="well well-small"> 
      <div class="accordion-toggle"> 
       ...some text... 
      </div> 
     </div> 
    </div> 
    <div class="span2"></div>        
</div> 
+1

Bạn hoàn toàn không thể hiểu được bạn muốn ban đầu bị sụp đổ? – PSL

+2

Có, tôi muốn nó đóng cửa khi tải trang. – JoshuaJeanThree

+6

Ok. chỉ cần xóa "trong". Vui lòng xem câu trả lời ... – PSL

Trả lời

77

Khi bạn mở rộng hoặc thu gọn accordion nó chỉ cần thêm/loại bỏ một lớp học "trong" và đặt height:auto hoặc 0 để div accordion.

Demo

Vì vậy, trong accordion của bạn khi bạn xác định nó chỉ loại bỏ "trong" lớp từ div như dưới đây. Bất cứ khi nào bạn mở rộng một accorion nó chỉ thêm lớp "in" để làm cho nó hiển thị.

Nếu bạn hiển thị trang có trình khởi động "trong", hãy tìm lớp và nó sẽ làm cho chiều cao của div: tự động, nếu nó không có chiều cao của nó sẽ ở độ cao bằng không.

<div id="collapseOne" class="accordion-body collapse"> 
32

Bạn cần phải loại bỏ "trong" từ "sụp đổ trong"

11

giải pháp khác là thêm toggle = false vào mục tiêu sụp đổ, điều này sẽ ngăn chặn nó một cách ngẫu nhiên mở và đóng cửa mà sẽ xảy ra nếu bạn chỉ cần loại bỏ các "trong"

ví dụ

<div class="accordion-heading"> 
    <a class="accordion-toggle" 
     data-toggle="collapse" 
     data-parent="#accordion2" 
     href="#collapseOne">Open!</a> 
</div> 
<div 
    id="collapseOne" 
    class="accordion-body collapse" 
    data-toggle="false" 
    > 
    <div class="span6"> 
     <div class="well well-small"> 
      <div class="accordion-toggle"> 
       ...some text... 
      </div> 
     </div> 
    </div> 
    <div class="span2"></div>        
</div> 
+2

Điều này đã giúp tôi rất nhiều. Tôi đã có một div mà ban đầu nên được hiển thị và sau đó được ẩn bằng cách sử dụng chuyển đổi. Tuy nhiên không có data-toggle = "false" Nó đầu tiên mờ dần div trong (trông ngu ngốc vì nó đã được nhìn thấy) và sau đó bắt đầu từ chuyển đổi thứ hai nó sẽ hoạt động như mong đợi. –

+1

Cũng đã giải quyết được vấn đề của tôi, cảm ơn. Div của tôi (có chứa một nút) ban đầu bị sụp đổ và sẽ kỳ lạ hiển thị và ẩn một lần nữa hai lần đầu tiên bất cứ điều gì trong các hình thức trên nó đã được chỉnh sửa ... –

+1

Cảm ơn! Điều này giải quyết được vấn đề của tôi. Tôi chưa bao giờ có 'in' ngay từ đầu, và nó vẫn được mở rộng ban đầu. Thêm data-toggle = "false" đã giải quyết nó cho tôi. –

-2

Nếu xóa lớp in không hoạt động cho bạn, chẳng hạn như trường hợp của tôi, bạn có thể buộc trạng thái ban đầu bị thu gọn sử dụng thuộc tính hiển thị CSS:

... 
<div id="collapseOne" class="accordion-body collapse" style="display: none;"> 
... 
+1

lạ để xem bootstrap bị hiểu lầm ... –

+0

@VishalKumarSahu Đôi khi bạn không thể kiểm soát bối cảnh trong đó mã được triển khai, và đôi khi khách hàng không trả tiền để giải mã hoặc gỡ lỗi nó. Bạn phải thích nghi. –

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