javascript - 在 Bootstrap 2.3 中更改崩溃图标而不是在 bootstrap 3 中

标签 javascript jquery css html twitter-bootstrap

我在我的元素中使用bootstrap 2.3 collapse。我需要在折叠时更改图标意味着在显示和隐藏时我需要更改图标。使用 Bootstrap 3,一些显示和隐藏的功能在互联网上显示,但我需要使用 Bootstrap 2.3。请让我知道如何解决这个问题。

enter image description here

.arrow-down{
    width: 12px;
    height: 12px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAAHwAAAB8ARUP7eQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAACISURBVChTvc+xCoNAEIThDXkQH8FCYhGwsRLEgJ2lEN81VQg2toIW2qVK7z9RREEtHfjg7liWOTslIZzxeJhgYhU+uOmykwQd3rpEaNEg1cMiFzyh4Rc82BU5fqjxf5xS4AstUwMtmJNBm0r4eKCHhtViMzFUTzSsGkd/W9XbrLGXO9zxeG7MBoKmGaM1wCzfAAAAAElFTkSuQmCC) no-repeat right;
}

.arrow-up{
    width: 16px;
    height: 12px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAbrQAAG60BIeRSlQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAANpJREFUOE9jGJzAwsJCyM7OztPMzIwPKkQ8sLe353F2dl7v6ur6BEjPBmI1qBRxAGgAh6OjY4m7u/t/oCF/gQacBtJuUGmiAQvQC7YuLi5fgZr/Ozk5fQCyC6ByxANLS0sxoAsuAzX/dXNz+w9kzwKGDydUmijADPSSA9AVv4CG/Ae5CIhjoXL4gY2NjSjQxlKghtdQb5wGGhYClcYPgBotgQG5BqjxN9TpM4CaNaDS+AEoDQA13ABpBNr+G2hQkpWVFS9UmijABDTAEGj7DqAhIFuZIMLYAAMDAPuUQ9EUeG3QAAAAAElFTkSuQmCC) no-repeat right;
}

.accordion-heading .accordion-toggle{
    width:88%;
}
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>

<div class="accordion" id="accordion2">
  <div class="accordion-group">
    <div class="accordion-heading">
      <a class="accordion-toggle arrow-down" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
        Collapsible Group Item #1
      </a>
    </div>
    <div id="collapseOne" class="accordion-body collapse in">
      <div class="accordion-inner">
        <p> first table</p>
        <p>First Content</p>
      </div>
    </div>
  </div>
  <div class="accordion-group">
    <div class="accordion-heading">
      <a class="accordion-toggle arrow-up" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
        Collapsible Group Item #2
      </a>
    </div>
    <div id="collapseTwo" class="accordion-body collapse">
      <div class="accordion-inner">
         <p> second table</p>
        <p>second Content</p>
      </div>
    </div>
  </div>
</div>

最佳答案

已更新。是的——第一个纯 CSS 解决方案并不令人满意。如果你敢于添加一些 javascript,你可以这样做:

$('.accordion-group').on('show', function() {
    $(this).find('.accordion-toggle').removeClass('arrow-down').addClass('arrow-up');
});    
$('.accordion-group').on('hide', function() {
    $(this).find('.accordion-toggle').removeClass('arrow-up').addClass('arrow-down');
});  

它直接在折叠部分使用 Bootstrap 折叠hide/show 事件。仍然没有 width/height,但在其他方面类似于 OP 中的标记。

新演示 -> http://jsfiddle.net/4m1u2rb4/

关于javascript - 在 Bootstrap 2.3 中更改崩溃图标而不是在 bootstrap 3 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30978591/

相关文章:

javascript - 检查 div 内容是否包含数组中的单词并替换它

javascript - 与 onUnload 斗争

c# - 使用 AJAX 调用 jQuery 传送文件

javascript - jquery.event.drag - 为每拖动 X 个像素运行脚本

javascript - 滑动效果不适用于 "ul"元素中的第一个选项卡

css - 如何关闭 Bootstrap 雪人模板中的完全响应功能?

javascript - 使用 Javascript 预加载选择的数据

javascript - 看起来很简单,为什么这行不通?

javascript - 无法从可拖动的可编辑 DIV 中选择文本

css - 将 style 属性传递给 less mixin