gpt4 book ai didi

ruby-on-rails - 将 Bootstrap collapse 设置为根据条件默认打开元素

转载 作者:行者123 更新时间:2023-12-02 20:17:33 25 4
gpt4 key购买 nike

我正在制作一个 FAQ 页面,并有一个 bootstrap 折叠,问题类别作为折叠标题,问题作为正文。
我对索引和问题显示页面使用相同的折叠,并且我正在传递一个局部变量 local: { display: boolean }区分。

我循环遍历类别集合以生成每个表行
<% @categories.each_with_index do |category, index| %>

我在触发元素的类和 aria-expanded 中有条件句:
class='<%= "collapsed" if !display || category != @question.category %>'
aria-expanded='<%= category == @question.category %>'
并且在目标类中
class='collapse <%= "show" if display && category == @question.category %>'

页面加载并打开正确的行,但在触发时不会关闭。

最佳答案

一切都在 Bootstrap documentation 中描述

要实现您的需求,您必须:

  1. 对于按钮/标题:
    1. 设置data-toggle="collapse"
    2. 如果目标内容必须隐藏,则设置aria-expanded="false"
    3. 如果target的内容必须显示,则设置aria-expanded="true"
  2. 对于目标:
    1. 如果必须隐藏目标,则设置class="collapse"
    2. 如果必须显示目标,则设置class="collapse show"

这是一个例子

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<p>
<a class="btn btn-primary" data-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
<button class="btn btn-primary collapsed" type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
</p>
<div class="row">
<div class="col">
<div class="collapse show multi-collapse" id="multiCollapseExample1">
<div class="card card-body">
First element content (displayed by the default)
</div>
</div>
</div>
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample2">
<div class="card card-body">
Second element content
</div>
</div>
</div>
</div>

关于ruby-on-rails - 将 Bootstrap collapse 设置为根据条件默认打开元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52089858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com