Twitter Bootstrap cung cấp các lớp để chuyển đổi nội dung, xem https://github.com/twbs/bootstrap/blob/3ee5542c990817324f0a07b97d01d1fe206fd8d6/less/utilities.less .
Tôi hoàn toàn mới với jQuery và sau khi đọc tài liệu của họ, tôi đã tìm đến một giải pháp khác để kết hợp Twitter Bootstrap + jQuery.
Đầu tiên, giải pháp để 'ẩn' và 'hiển thị' một phần tử (lớp wsis-sụp đổ) khi nhấp vào phần tử khác (lớp wsis-toggle), là sử dụng .toggle .
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle();
});
});
Bạn cũng đã ẩn phần tử .wsis-collapsebằng cách sử dụng lớp Twitter Bootstrap (V3) .hidden:
.hidden {
display: none !important;
visibility: hidden !important;
}
Khi bạn nhấp vào .wsis-toggle, jQuery sẽ thêm một kiểu nội tuyến:
display: block
Vì !importanttrong Bootstrap Twitter, kiểu nội tuyến này không có hiệu lực, vì vậy chúng tôi cần xóa .hiddenlớp, nhưng tôi sẽ không đề xuất .removeClasscho việc này! Bởi vì khi jQuery sẽ ẩn thứ gì đó một lần nữa, nó cũng thêm một kiểu nội tuyến:
display: none
Điều này không giống với lớp .hidden của Twitter Bootstrap, cũng được tối ưu hóa cho AT (trình đọc màn hình). Vì vậy, nếu chúng tôi muốn hiển thị div ẩn, chúng tôi cần loại bỏ .hiddenlớp Twitter Bootstrap, vì vậy chúng tôi sẽ loại bỏ các tuyên bố quan trọng, nhưng nếu chúng tôi ẩn lại, chúng tôi muốn có .hiddenlại lớp! Chúng tôi có thể sử dụng [.toggleClass] [3] cho việc này.
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden" );
});
});
Bằng cách này, bạn tiếp tục sử dụng lớp ẩn mỗi khi nội dung bị ẩn.
Cả .showlớp trong TB thực sự giống với kiểu nội tuyến của jQuery, cả hai 'display: block'. Nhưng nếu .showlớp tại một thời điểm nào đó sẽ khác, thì bạn chỉ cần thêm lớp này:
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden show" );
});
});