Bootstrap手风琴,在标题面板中显示/隐藏文本
Bootstrap accordion with show / hide text in header panel
如果面板打开,则应隐藏"扇区和问题"标记,如果面板折叠,则应显示"扇区"answers"问题"。
这是我的js文件
$(window).load(function () {
var parent = $('.panel-group .panel-heading');
parent.each(function (i, el) {
//el is element used for "{var parent}" class to execute value one by one
var el = $(el);
var collapsed = el.find('.panel-title a').hasClass('collapsed');
if (collapsed == true) {
el.find(".show-hide-si").show('slow');
} else {
el.find(".show-hide-si").hide('slow');
}
/**
* this will run on click to show and hide for sector&issues
* this is tricky,if you click and class is collapsed
*/
el.find('.panel-title a').click(function () {
var collapsed = $(this).hasClass('collapsed');
if (collapsed == false) {
el.find(".show-hide-si").show('slow');
} else {
el.find(".show-hide-si").hide('slow');
}
});
});
});
这是可行的,但如果面板p1打开,我点击面板p2,两个面板文本都会被隐藏。
我的数据是动态的,所以使用像<div id="collapse_<?php print $key; ?>"
这样的类,而不是collapseOne,Two,Three。
在HTML 中
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="panel<?php print $key; ?>">
<div class="panel-heading" role="tab" id="heading_<?php print $key; ?>">
<h4 class="panel-title">
<a <?php print $clsa; ?> role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse_<?php print $key; ?>" aria-expanded="true" aria-controls="collapse_<?php print $key; ?>">
Program : <?php print $ptitle; ?>
</a>
</h4>
<div class="show-hide-si">
<div class="sector">Sectors : <?php print $sectors_of_interes; ?></div>
<div class="issues">Issues : <?php print $pro_problem; ?></div>
</div>
</div>
<div id="collapse_<?php print $key; ?>" class="panel-collapse <?php print $clsin; ?>" role="tabpanel" aria-labelledby="heading_<?php print $key; ?>">
<div class="panel-body">
另一个问题是,如果我点击面板P2,它是打开的,然后我点击P1(P1是关闭的),P1打开但P2没有关闭,两者都是打开的。
请参阅此示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example of Bootstrap 3 Accordion</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<style type="text/css">
.bs-example{
margin: 20px;
}
</style>
</head>
<body>
<div class="bs-example">
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">1. What is HTML?</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in">
<div class="panel-body">
<p>HTML stands for HyperText Markup Language. HTML is the main markup language for describing the structure of Web pages. <a href="http://www.tutorialrepublic.com/html-tutorial/" target="_blank">Learn more.</a></p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">2. What is Bootstrap?</a>
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse">
<div class="panel-body">
<p>Bootstrap is a powerful front-end framework for faster and easier web development. It is a collection of CSS and HTML conventions. <a href="http://www.tutorialrepublic.com/twitter-bootstrap-tutorial/" target="_blank">Learn more.</a></p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">3. What is CSS?</a>
</h4>
</div>
<div id="collapseThree" class="panel-collapse collapse">
<div class="panel-body">
<p>CSS stands for Cascading Style Sheet. CSS allows you to specify various style properties for a given HTML element such as colors, backgrounds, fonts etc. <a href="http://www.tutorialrepublic.com/css-tutorial/" target="_blank">Learn more.</a></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
在引导程序中,您可以调用类似的事件方法
$('#accordian').on('hidden', function () {
// do something…
})
相关文章:
- 在jquery中为显示/隐藏设置cookie
- PHP Javascript显示/隐藏按钮不工作
- 打开/关闭按钮以显示/隐藏内容
- 显示隐藏复选框
- 在bootstrap中显示隐藏特定的li
- JQuery上下文菜单显示/隐藏问题
- JQuery在单击时停止显示/隐藏
- HTML5在提交并显示所需标签后显示隐藏的表单元素
- 使用 jQuery 切换显示/隐藏
- 显示/隐藏有关模型更改的指令内容
- Bootstrap在页面加载缓慢时会立即显示隐藏的模式对话框
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 显示/隐藏不起作用
- 使用ng-hide根据条件显示/隐藏按钮
- 仅在第一个结果中显示/隐藏MySQL结果函数
- 显示/隐藏http://ftp链接
- 在显示/隐藏中单击时删除的文本
- 是否可以在不重新渲染的情况下显示/隐藏父对象中的元素
- 将页面内容向左移动时显示/隐藏右侧面板
- 显示/隐藏将不会加载