【问题标题】:Why bootstrap collapse is automatically collapsing(shrinking) the element?为什么引导折叠会自动折叠(缩小)元素?
【发布时间】:2016-05-17 20:44:54
【问题描述】:

您好,我正在使用带有 HTML 的 AngularJs 来获得动态内容。

我也在使用 bootstrap 来实现折叠功能。

我已经创建了类似于 Stackoverflow 的问答页面。

当页面加载时,它会显示所有问题,当我点击任何特定问题时,它会展开该问题并提供答案,但答案再次被折叠,并且有一个锚标记来展开所有答案。

我的问题是,当我点击答案的锚标签时,答案会显示几秒钟,然后又会自动折叠。

下面是我的代码:

<div style="" class="row ans-txt left-margin-img">
    {{ answer.a_list.as.length }} ANSWERS
    <a data-target=".demo" data-parent="" data-toggle="collapse">
        <img src="assets/svg/downarrow_active.svg" class="img-responsive" style="height: 24px; width: 24px; display: inline; float: right; right: 18px; position: absolute;"></img>
    </a>
</div>
<div class="row " style="padding-top:14px;height:auto;" ng-repeat-start="(key, value) in answer.a_list.as">
    <div class="col-xs-2 col-sm-1 col-md-1 content-padding2 collapse demo">
        <div>
            <button type="submit" class="searchStyle bgStyle btn-Style vote-btn-border" ng-click="vote(value.raw, 1)">
     <i class="glyphicon glyphicon-chevron-up"></i>
    <img src="assets/svg/uparrow.svg" class="img-responsive" style="height:24px;width:24px;"></img>
     </button>
        </div>
        <div><button type="text" class="searchStyle bgStyle  btn-txt" disabled>{{ value.raw.netvotes }}</button></div>
        <div>
            <button type="submit" class="searchStyle bgStyle btn-Style vote-btn-border" ng-click="vote(value.raw, 0)">
    <i class="glyphicon glyphicon-chevron-down"></i>
    <img src="assets/svg/downarrow_active.svg" class="img-responsive" style="height:24px;width:24px;"></img>
    </button>
        </div>
    </div>

    <div class="col-xs-11 col-sm-10 col-md-11 padding-rightPane collapse demo">
        <p class="ex2">{{ value.raw.content }}</p>
        <p class="bottom-margin14">
            <div class="askedBy-txt">
                Answered by {{ value.raw.handle ? value.raw.handle : value.raw.email }} on {{ value.raw.created * 1000 | date:'MMMM dd, yyyy'}}
            </div>
            <img src="assets/svg/tick_icon.svg" style="height:20px;width:20px;" class="img-responsive pull-right" title="Best answer"
                ng-if="value.select_text === 'Best answer'"></img>
        </p>
    </div>
</div>

【问题讨论】:

  • 我在两次包含 bootstrap.js 或 bootstrap.min.js 时遇到了类似的问题。
  • @B3rn475:哦..但就我而言,我已经添加了一次 bootstrap.js!
  • 您是否手动激活折叠?如getbootstrap.com/javascript/#via-javascript-3
  • @B3rn475 不,我没有手动激活它。有一件事是肯定的,这是由于动态 AngularJs 内容
  • 为什么不转向引导程序的角度指令? angular-ui.github.io/bootstrap

标签: javascript jquery css angularjs twitter-bootstrap


【解决方案1】:

尝试对.collapse.in 类进行转换。它会调整折叠元素的 css 状态。

<div class="...collapse..." ng-class="{'in': !isCollapsed}">
</div>

【讨论】:

  • 感谢您的回答,但没有帮助。
  • 因为你只分享了html。如果没有完整的场景,就不可能调查可能发生的事情。