2017-05-31 89 views
0

我有一个使用Bootstrap的Collapse功能的手风琴菜单,并且我试图根据CSS类来引导它的样式。Bootstrap用来显示和隐藏可折叠元素。Bootstrap'collapsed'class not load on DOM load

我的问题是,当文档被完全加载时,collapsed类不会在折叠元素上加载,而它们会显示为折叠状态。因此,我的页面呈现“开放”样式,而每个可折叠元素都会像应该那样折叠。在第一次点击之后,collapsed类将出现,并且样式按其应有的方式工作。

强制将collapsed类放到每个元素上DOM负载为一个是一个混乱的方式来解决问题,但在更改之前样式仍然显示一秒。

为了说明,这应该发生:

折叠状态Collapsed State

未折叠的状态Uncollapsed State

而是负载,我得到这个作为collapsed类简单不存在: What actually happens on load

任何想法可以做些什么呢?

编辑:代码共融(忽略剃刀段)

<button class="category-select" data-toggle="collapse" data-target="#[email protected]">@fieldset.GetValue("title")</button> 
    <div id="[email protected]" class="collapse"> 
     <div class="category-inner"> 
      @Html.Raw(@fieldset.GetValue("innerText")) 
     </div> 
    </div> 
+0

请在这里分享您的代码 –

+0

听起来像$(document).ready()缺少在文档加载时运行代码 – Gerard

+0

尽管如此?这是使用未经编辑的Bootstrap v3.3.5 –

回答

0

刚刚意识到我做错了什么基础上所存在的样式。我应该做的是将collapsed类添加到html中。

的代码其实应该是这样的:那么

<button class="category-select collapsed" data-toggle="collapse" data-target="#[email protected]">@fieldset.GetValue("title")</button> 
<div id="[email protected]" class="collapse"> 
    <div class="category-inner"> 
     @Html.Raw(@fieldset.GetValue("innerText")) 
    </div> 
</div> 

正确的样式应用于负载,准备collapsed上单击要删除。

愚蠢的错误。