jquery - 按下后引导按钮不会禁用
问题描述
我有几个可折叠的按钮。当我单击其中一个时,其他的会折叠它们的内容,因此一次只有一个显示它的内容。问题是,当我第二次单击非折叠按钮时,它会隐藏它们的内容,留下一个空白。
我有这个 HTML:
<div class="flex-colum" id="btons">
<button type="button" class="btn btn-bg-md btn-outline-primary active" data-toggle="collapse" data-target="#coll1" aria-pressed="false" autocomplete="off" id="btn1">Button 1</button>
<button type="button" class="btn btn-bg-md btn-outline-primary" data-toggle="collapse" data-target="#coll2" aria-pressed="false" autocomplete="off" id="btn2">Button 2</button>
</div>
<div class="container">
<div class="collapse show" data-parent="#section_four" id="coll1">
<div class="container">
<h1>Hello im conllapse 1</h1>
</div>
</div>
<div class="collapse show" data-parent="#section_four" id="coll2">
<div class="container">
<h1>Hello im conllapse 2</h1>
</div>
</div>
</div>
我该怎么做这样的事情:
- 当页面打开并显示内容时,Btn1 必须处于活动状态。
- 如果我点击 btn2,btn1 会折叠,Btn2 会显示内容。
- 如果我再次单击同一个按钮(显示其内容的按钮),它必须什么都不做。
我试过这个:
$('#btons').on('click', '.btn', function() {
$(this).addClass('active').siblings().removeClass('active');
$('#btons').find('.collapse').collapse('hide');
});
此外,我尝试将按钮设置为禁用,如果有活动则返回,如果 hasClass 活动。
如果按钮处于活动状态,我该怎么做才能始终显示内容?有任何想法吗?
解决方案
如果您使用的是 bootstrap 4,那么为什么要使用多重折叠的自定义代码。已经有 nav pills 组件可以做你想做的事情。
遵循以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<style>
</style>
</head>
<body>
<div class="container">
<ul class="nav nav-pills" role="tablist">
<li class="nav-item">
<button type="button" class="btn btn-bg-md btn-outline-primary nav-link active" data-toggle="pill" href="#home">button 1</button>
</li>
<li class="nav-item">
<button type="button" class="btn btn-bg-md btn-outline-primary nav-link" data-toggle="pill" href="#menu1">button 2</button>
</li>
<li class="nav-item">
<button type="button" class="btn btn-bg-md btn-outline-primary nav-link" data-toggle="pill" href="#menu2">button 3</button>
</li>
</ul>
<div class="tab-content">
<div id="home" class="container tab-pane active"><br>
<h3>Button 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
<div id="menu1" class="container tab-pane fade"><br>
<h3>Button 2</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
<div id="menu2" class="container tab-pane fade"><br>
<h3>Button 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</div>
</div>
</body>
</html>
谢谢...
推荐阅读
- python - 抛出异常并且任务状态成功
- reactjs - 如何在 React 中缓存整个功能组件?
- python - 为什么不能在循环内更改数组的数据类型?
- javascript - 如何将点击功能更改为悬停/鼠标悬停功能
- flutter - Flutter - 加载繁重的小部件时防止交互
- c# - 后跟空双括号的 `is` 运算符是什么?
- java - 无法调用 JTable,因为 tableDisplay 为空
- javascript - 如何在猫鼬的对象数组中搜索对象?
- python - 为什么 python telethon 在与电报连接时给出信号量错误
- firebase - 我们如何为 Firebase 存储编写依赖于 Firebase 实时数据库中的值的安全规则?