Tôi đang cố gắng tạo một Accordion có thể mở rộng bằng cách sử dụng jquery. Tôi không thể tìm ra cách ngăn nó mở rộng khi tải trang. Tôi không biết gì về jquery, mọi trợ giúp đều được đánh giá cao.
Các tệp JS:
$(document).ready(function(){
$('.expand-icon').click(function(){
var elem = $(this);
if(elem.hasClass('active')) {
elem.removeClass('active');
var subElem = elem.siblings('ul');
var NestedElem =elem.siblings('ul').find('ul');
if(nestedElem.length == 0) {
subElem.slideUp('nhanh');
}
khác {
NestedElem.slideUp('fast',function(){
subElem.slideUp('nhanh');
});
}
$.when(elem.removeClass('glyphicon-minus')).then(function(){
elem.addClass('glyphicon-plus');
});
}
khác {
elem.addClass('active');
elem.siblings('ul').slideDown('fast',function(){
elem.siblings('ul').find('ul').slideDown('fast');
});
$.when(elem.removeClass('glyphicon-plus')).then(function(){
elem.addClass('glyphicon-minus');
});
}
});
$('.expandable :checkbox').on('change', function() {
$(this).parent().find('li input[type=checkbox]').prop('checked', $(this).is(':checked'));
var sibs = false;
$(this).closest('ul').children('li').each(function () {
if($('input[type=checkbox]', this).is(':checked')) sibs=true;
});
$(this).parents('ul').siblings(':checkbox').prop('checked', sibs);
});
});
Bạn có thể tìm thấy bootply qua liên kết này:http://www.bootply.com/1W8bSTnmx6
Fiddle ở đây
Điều này là do bạn đã mở Accordion đầu tiên trong khi đang tải. Để khắc phục điều này, hãy sử dụng $($('#accordion .expand-icon')[0]).click();
Bấm vào nó. Xem ví dụ hoạt động tại đây http://www.bootply.com/vGoKbvfKtl
Tôi là một lập trình viên xuất sắc, rất giỏi!