2 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
您可以在單擊按鈕時(shí)使用事件 Bootstrap 觸發(fā)器來執(zhí)行此操作:
$('.collapse').on('show.bs.collapse hide.bs.collapse', function () {
// Find the corresponding button
var $btn = $('[data-toggle="collapse"][href="#' + this.id + '"]');
// Find the corresponding row
var $row = $btn.closest('.row');
// Toggle classes
$btn.toggleClass('fa-minus fa-plus');
$row.toggleClass('rounded rounded-top');
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<div class="container h-100">
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 1</div>
<div class="col-sm-4">demo 1</div>
<div class="col-sm-3">demo 1</div>
<div class="col-sm-1 ">
<a class="fa fa-plus" data-toggle="collapse" href="#collapse1" aria-expanded="true" aria-controls="collapse1"></a>
</div>
</div><!--row-->
<div class="collapse" id="collapse1">
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 1</div>
<div class="col-sm-4">demo 1</div>
<div class="col-sm-4">demo 1</div>
</div><!--collapse-->
</div>
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 2</div>
<div class="col-sm-4">demo 2</div>
<div class="col-sm-3">demo 2</div>
<div class="col-sm-1 ">
<a class="fa fa-plus" data-toggle="collapse" href="#collapse2" aria-expanded="true" aria-controls="collapse2"></a>
</div>
</div><!--row-->
<div class="collapse" id="collapse2">
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 2</div>
<div class="col-sm-4">demo 2</div>
<div class="col-sm-4">demo 2</div>
</div><!--collapse-->
</div>
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 3</div>
<div class="col-sm-4">demo 3</div>
<div class="col-sm-3">demo 3</div>
<div class="col-sm-1 ">
<a class="fa fa-plus" data-toggle="collapse" href="#collapse3" aria-expanded="true" aria-controls="collapse3"></a>
</div>
</div><!--row-->
<div class="collapse" id="collapse3">
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 3</div>
<div class="col-sm-4">demo 3</div>
<div class="col-sm-4">demo 3</div>
</div><!--collapse-->
</div>
</div><!--container-->

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
優(yōu)雅的方法是做blex所展示的jquery方式。但是你也可以綁定一個(gè)點(diǎn)擊函數(shù),就像下面的javascript方式一樣:
function toggleClass(item){
if(item.classList.contains('fa-plus')){
item.classList.remove('fa-plus');
item.classList.add('fa-minus');
}else{
item.classList.remove('fa-minus');
item.classList.add('fa-plus');
}
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<div class="container h-100">
<div class="container h-100">
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 1</div>
<div class="col-sm-4">demo 1</div>
<div class="col-sm-3">demo 1</div>
<div class="col-sm-1 ">
<a class="fa fa-plus" data-toggle="collapse" href="#collapse1" aria-expanded="true" aria-controls="collapse1" onClick="toggleClass(this)"></a>
</div>
</div><!--row-->
<div class="collapse" id="collapse1">
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 1</div>
<div class="col-sm-4">demo 1</div>
<div class="col-sm-4">demo 1</div>
</div><!--collapse-->
</div>
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 2</div>
<div class="col-sm-4">demo 2</div>
<div class="col-sm-3">demo 2</div>
<div class="col-sm-1 ">
<a class="fa fa-plus" data-toggle="collapse" href="#collapse2" aria-expanded="true" aria-controls="collapse2" onClick="toggleClass(this)"></a>
</div>
</div><!--row-->
<div class="collapse" id="collapse2">
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 2</div>
<div class="col-sm-4">demo 2</div>
<div class="col-sm-4">demo 2</div>
</div><!--collapse-->
</div>
<div class="row no-gutters border-0 rounded align-items-center mt-3">
<div class="col-sm-4">demo 3</div>
<div class="col-sm-4">demo 3</div>
<div class="col-sm-3">demo 3</div>
<div class="col-sm-1 ">
<a class="fa fa-plus" data-toggle="collapse" href="#collapse3" aria-expanded="true" aria-controls="collapse3" onClick="toggleClass(this)"></a>
</div>
</div><!--row-->
<div class="collapse" id="collapse3">
<div class="row no-gutters border-0 rounded align-items-center mt-3" >
<div class="col-sm-4">demo 3</div>
<div class="col-sm-4">demo 3</div>
<div class="col-sm-4">demo 3</div>
</div><!--collapse-->
</div>
</div><!--container-->
- 2 回答
- 0 關(guān)注
- 110 瀏覽
添加回答
舉報(bào)