【问题标题】:twitter bootstrap accordion collapse and close only on plus and minustwitter bootstrap 手风琴折叠并仅在加号和减号时关闭
【发布时间】:2016-09-13 04:05:00
【问题描述】:
我正在使用 Bootstrap3。我有一个手风琴组件。在那个手风琴中,无论我点击 div 的打开和关闭,都会发生。但我的要求是手风琴 div 应该只在点击加号和减号图标时打开和关闭。我的代码如下:
<div data-target="#earlierOwner1" data-parent="#accordion" data-toggle="collapse" class="panel-group accordion1" aria-expanded="true">
<div class="panel panel-default">
<div class="panel-heading active">
<h4 class="panel-title">
<a class="" href="#earlierOwner1" data-parent="#accordion" data-toggle="collapse" aria-expanded="true">O1-34676844<span class="spanAmtLeft">200</span></a>
</h4>
</div>
<div class="panel-collapse collapse" id="earlierOwner1" aria-expanded="true">
<div class="panel-body inputTable orderSRacccontent">
<!-- payment mode section -->
<div class="row marginTop20">
<div class="col-lg-12 col-md-12">
<ul role="tablist" class="nav nav-tabs" id="paymentMode">
</ul>
</div>
</div>
【问题讨论】:
标签:
html
css
twitter-bootstrap
twitter-bootstrap-3
【解决方案1】:
去掉父div上的data-toggle="collapse",放到加减号图标里
【解决方案2】:
由于源代码不足,不清楚你想要做什么。
关于您只需要一个加号/减号按钮来切换手风琴的问题,不要将.panel-title 包装在一个锚 (<a>) 标记中。相反,将其包装在 <p> 或 <h2> 标记中。然后在同一个类中,添加一个包含加号/减号图形的<a> 标记并将其设置为触发器。
<div class="panel-heading active">
<h4 class="panel-title">
<a class="" href="#earlierOwner1" data-parent="#accordion" data-toggle="collapse" aria-expanded="true">This is where you'll want your icon.</a>
<p>O1-34676844<span class="spanAmtLeft">200</span></p>
</h4>
</div>
【解决方案3】:
试试这个
$(document).ready(function(){
$('.collapse').on('shown.bs.collapse', function(){
$(this).parent().find(".glyphicon-plus").removeClass("glyphicon-plus").addClass("glyphicon-minus");
}).on('hidden.bs.collapse', function(){
$(this).parent().find(".glyphicon-minus").removeClass("glyphicon-minus").addClass("glyphicon-plus");
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body style="height:1500px">
<div class="container">
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
<span class="glyphicon glyphicon-plus"></span>
<a class="" href="#earlierOwner1" data-parent="#accordion" data-toggle="collapse" aria-expanded="true">O1-34676844<span class="spanAmtLeft">200</span></a>
</a>
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse">
<div class="panel-body">
<div class="row marginTop20">
<div class="col-lg-12 col-md-12">
<ul role="tablist" class="nav nav-tabs" id="paymentMode">
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>