我正在使用Twitter Bootstrap来创建可折叠的文本部分。按下+按钮时,这些部分会展开。我的html代码如下:
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#demo">
<span class="glyphicon glyphicon-chevron-down"></span> Open
</button>
</h4>
</div>
<div id="demo" class="panel-collapse collapse in">
<div class="panel-body">
Contents:Thank you to help me solve the problem, you're a great guy!
</div>
</div>
</div>
</div>
稍后,我需要更改文字,按钮图标并展开。
是开放的:
<button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#demo">
<span class="glyphicon glyphicon-chevron-up"></span> Close
</button>
关闭:
<button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#demo">
<span class="glyphicon glyphicon-chevron-down"></span> Open
</button>
答案 0 :(得分:14)
也可以通过CSS样式来完成。
在css中添加样式:
.text-toogle[aria-expanded=false] .text-expanded {
display: none;
}
.text-toogle[aria-expanded=true] .text-collapsed {
display: none;
}
并在html中使用:
<a class="btn btn-default text-toogle" data-toggle="collapse" data-target="#tabsNavigation" aria-expanded="false">
<span class="text-collapsed">More info</span>
<span class="text-expanded">Less info</span>
<i class="fa fa-angle-right"></i>
</a>
请记得添加属性
aria-expanded="false"
和班级
text-toogle
链接/按钮。
答案 1 :(得分:10)
基于:https://stackoverflow.com/a/16870379/1596547
$('button span').parent().click(function () {
if($('button span').hasClass('glyphicon-chevron-down'))
{
$('button').html('<span class="glyphicon glyphicon-chevron-up"></span> Close');
}
else
{
$('button').html('<span class="glyphicon glyphicon-chevron-down"></span> Open');
}
});
答案 2 :(得分:1)
我发现这个问题和答案很有帮助。我删除了parent()方法并在我的+按钮中添加了一个id,以避免在切换+时更改其他按钮。
$('#more').click(function () {
if($('button span').hasClass('glyphicon-chevron-down'))
{
$('#more').html('<span class="glyphicon glyphicon-chevron-up"></span> Less Info');
}
else
{
$('#more').html('<span class="glyphicon glyphicon-chevron-down"></span> More Info');
}
});
答案 3 :(得分:1)
如果您正在使用jQuery,请使用toggleClass
$('div.toggler').click(function(){
$('div.toggler span').toggleClass('glyphicon-chevron-down glyphicon-chevron-up');
});
在这里工作JSFiddle
答案 4 :(得分:0)
使用此javascript更改图标
if 20_newsgroups.target in [2,3,4,5,6], 20_newsgroups.target='1'.