Bootstrap JavaScript插件:折叠内容插件 (collapse.js)

简介: Bootstrap 框架

作者:WangMin
格言:努力做好自己喜欢的每一件事

banner.png

折叠插件(collapse.js)可以很容易地让页面区域折叠起来。当列表菜单的条目特别多,而页面空间有限时,使用类似于手风琴的折叠菜单可以节约页面空间,方便用户浏览。

实例

  • .collapse 隐藏内容
  • .collapsing 在转换期间应用
  • .collapse.in显示内容

可以使用带有href属性的链接,或具有数据目标属性的按钮。在这两种情况下,都需要data-toggle=“collapse”。单击下面的按钮以通过类更改显示和隐藏另一个元素:

<a href="#collapseAnli" class="btn btn-primary" role="button" data-toggle="collapse" aria-controls="collapseAnli">带href属性链接</a>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseAnli" aria-controls="collapseAnli">带有data-target的按钮</button>
<div class="collapse" id="collapseAnli">
    <div class="well">
        <p>可以使用带有href属性的链接,或具有数据目标属性的按钮。在这两种情况下,都需要data -toggle=“collapse”。单击下面的按钮以通过类更改显示和隐藏另一个元素</p>
    </div>
</div>

1.png


手风琴的折叠菜单
扩展默认折叠行为以创建面板组件一致的折叠。

<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
        <div class="panel panel-default">
            <div class="panel-heading" role="tab" id="headingOne">
                <h4 class="panel-title">
                    <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-controls="collapseOne" aria-expanded="false">part one</a>
                </h4>
            </div>
            <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
                  <div class="panel-body">
                      <p>折叠插件(collapse.js)可以很容易地让页面区域折叠起来。当列表菜单的条目特别多,而页面空间有限时,使用类似于手风琴的折叠菜单可以节约页面空间,方便用户浏览。</p>
                  </div>
            </div>
        </div>

        <div class="panel panel-default">
            <div class="panel-heading" role="tab" id="headingTwo">
                <h4 class="panel-title">
                    <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-controls="collapseTwo" aria-expanded="false">part Two</a>
                </h4>
            </div>
            <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
                  <div class="panel-body">
                      <p>折叠插件(collapse.js)可以很容易地让页面区域折叠起来。当列表菜单的条目特别多,而页面空间有限时,使用类似于手风琴的折叠菜单可以节约页面空间,方便用户浏览。</p>
                  </div>
            </div>
        </div>


        <div class="panel panel-default">
            <div class="panel-heading" role="tab" id="headingThree">
                <h4 class="panel-title">
                    <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-controls="collapseThree" aria-expanded="false">part Three</a>
                </h4>
            </div>
            <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
                  <div class="panel-body">
                      <p>折叠插件(collapse.js)可以很容易地让页面区域折叠起来。当列表菜单的条目特别多,而页面空间有限时,使用类似于手风琴的折叠菜单可以节约页面空间,方便用户浏览。</p>
                  </div>
            </div>
        </div>
</div>

2.png

单击任意菜单,隐藏内容会展开,如果再点击同一个菜单就会隐藏;在一个菜单展开的情况下,点击另一个菜单的时候,展开的菜单内容就会被隐藏。

注意事项 :

  1. 使展开/折叠控件可访问
    请确保将展开的aria添加到控件元素中。此属性显式地定义可折叠元素的当前状态,如果可折叠元素在默认情况下是关闭的,那么它的值应该是aria-expanded=“false”。如果您已经使用in类将可折叠元素设置为默认打开,请改为在控件上设置aria-expanded=“true”。插件将根据可折叠元素是否已打开或关闭自动切换此属性。
    1. 如果控件元素的目标是单个可折叠元素,即data-target属性指向id选择器,则可以向control元素添加一个附加的aria-controls属性,其中包含可折叠元素的id。

使用方法

1. 通过data属性实现折叠

只需向元素添加data-toggle='collapse'和data-target='',就可以对隐藏的折叠内容进行控制(通常在button或a标签上添加这两个属性)。data-target 属性接受一个 CSS 选择器,并会对其应用折叠效果。确保将类collapse添加到可折叠元素中。如果希望它默认打开,请在中添加附加类 in。

要将类似accordion的组管理添加到可折叠控件中,请添加数据属性data-parent=“#selector”。

2. 通过javascript实现折叠

$('.collapse').collapse()

选项可以通过data属性或JavaScript传递。对于data属性,将选项名称附加到data-,如data parent=''。

名称 类型 默认值 说明
parent 选择器 false 如果指定了选择器,则该选择器指定的父元素下,同一时刻只能显示一个折叠面板
toggle boolean true 是否切换可折叠元素的状态

调用方式

1. 使用选项时,JavaScript调用折叠插件的格式为:
$(".collapse").collapse(options)
在调用collapse() 方法时,可以包含一个配置对象,该对象包含 parent 和 toggle 两个配置参数。通过以下JavaScript代码,即可实现折叠插件的交互行为和动态效果:

$('.collapse').collapse({
   
   
      parent: "#accordion2"
);
$('.accordion-toggle').click(function() {
   
   
     $(this).parent().next().collapse('toggle');
});

2. .collapse('toggle'):让一个可折叠元素在显示和隐藏之间切换。
3. .collapse('show'):显示一个可折叠元素。
4. .collapse('hide'):隐藏一个可折叠元素。


折叠插件的事件

Bootstrap还为折叠组件提供了一组事件,通过这些事件,可以监听用户的行为及折叠组件的状态。

事件 含义
show.bs.collapse 调用show方法时,立即触发该事件
shown.bs.collapse 当可折叠元素对用户完全可见(会等待过渡效果执行结束)后,触发该事件
hide.bs.collapse 调用hide方法时,立即触发该事件
hidden.bs.collapse 当可折叠元素对用户完全不可见(而且过渡效果执行完毕)后,触发该事件
$('#myCollapsible').on('hidden.bs.collapse', function () {
   
   
 alert('内容已隐藏')})

就先分享到这里!! :smile: 后续继续更新!!

目录
相关文章
|
2月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
58 1
|
2月前
|
存储 JavaScript 前端开发
【Vue.js的神秘力量】一键解锁:如何让Bootstrap和Vuex成为你的开发超能力?
【8月更文挑战第30天】Vue.js是一个轻量且灵活的JavaScript框架,易于上手且功能强大。为提高开发效率和应用交互性,常需集成第三方库。本文介绍如何在Vue.js项目中集成Bootstrap和Vuex,及其它常见第三方库。Bootstrap提供响应式设计和预制组件,通过安装插件和引入CSS/JS即可集成;Vuex作为官方状态管理库,通过安装并创建store来管理组件状态。此外,Vue.js还可轻松集成Axios和Vue Router等库,提升HTTP请求和页面路由功能。合理选择和集成第三方库能显著提升开发效率,但需保持代码可维护性和可读性。
19 0
|
2月前
|
前端开发 JavaScript 开发者
Vue.js 与第三方库的神秘融合:Bootstrap、Vuex 等究竟带来何种惊喜?
【8月更文挑战第30天】Vue.js 作为一款流行的前端框架,凭借其强大的功能和易用性深受开发者喜爱。它不仅能独立运作,还能无缝集成各种第三方库,显著提升开发效率。例如,通过 `vue-bootstrap`,我们可以轻松引入 Bootstrap 的响应式组件,快速打造美观的用户界面;借助 Vuex,Vue 提供的状态管理方案,能有效解决复杂应用中的状态共享难题。此外,诸如 `axios` 和 `moment` 等库也能进一步增强 Vue 的功能,使其成为构建高性能前端应用的理想选择。
29 0
|
2月前
|
设计模式 JavaScript 前端开发
Vue.js 与第三方库的奇妙融合,Bootstrap 和 Vuex 究竟能带来何种意想不到的变革?
【8月更文挑战第30天】在现代Web开发中,结合使用JavaScript设计模式与框架如Vue.js能显著提升代码质量和项目的可维护性。本文探讨了常见JavaScript设计模式及其在Vue.js中的应用。通过具体示例介绍了工厂模式、单例模式和策略模式的应用场景及其实现方法。例如,工厂模式通过`NavFactory`根据用户角色动态创建不同的导航栏组件;单例模式则通过全局事件总线`eventBus`实现跨组件通信;策略模式用于处理不同的表单验证规则。这些设计模式的应用不仅提高了代码的复用性和可维护性,还使得Vue应用更加模块化和灵活。
13 0
|
2月前
|
JavaScript 前端开发 测试技术
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
|
3月前
|
JavaScript 前端开发 API
Chrome插件实现问题之 content_script.js能做什么
Chrome插件实现问题之 content_script.js能做什么
|
3月前
|
JavaScript
js好用的动态分页插件
js好用的动态分页插件是一款简单的分页样式插件,支持样式类型,当前页,每页显示数量,按钮数量,总条数,上一页文字,下一页文字,输入框跳转等功能。
34 1
|
3月前
|
JavaScript
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
182 0
|
自然语言处理 JavaScript 前端开发
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
147 0
学习javaScript必知必会(2)~js词法分析、介绍一下主流的浏览器的开发者工具(js调试和查看网络请求)
下一篇
无影云桌面