📅  最后修改于: 2023-12-03 15:17:33.280000             🧑  作者: Mango
Materialize-css 可折叠是 Materialize-css 组件库中的一个组件,它可以将大量的内容折叠起来,只显示摘要部分,从而方便用户进行浏览。
在 HTML 文件中引入 Materialize-css 的 CSS 和 JavaScript 文件,并按照 官方文档 社区介绍的方式配置可折叠组件即可。
在 HTML 中创建 collapsible 元素:
<ul class="collapsible">
<li>
<div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div>
<div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">place</i>Second</div>
<div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div>
<div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
</li>
</ul>
在 JavaScript 中初始化可折叠组件:
document.addEventListener('DOMContentLoaded', function() {
var collapsibles = document.querySelectorAll('.collapsible');
M.Collapsible.init(collapsibles);
});
可折叠组件支持以下配置:
通过 data-collapsible
属性配置,指定哪些项是可折叠的(默认所有项都可以折叠),以及哪些项是默认展开的:
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header"><i class="material-icons">filter_drama</i>First</div>
<div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">place</i>Second</div>
<div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
</li>
<li>
<div class="collapsible-header"><i class="material-icons">whatshot</i>Third</div>
<div class="collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
</li>
</ul>
其中 data-collapsible="accordion"
表示当前只能展开一个项,即手风琴模式,如果想保持所有项展开,则设置 data-collapsible="expandable"
。
可折叠组件在展开或收起时会触发相应的回调函数,在初始化时通过 JavaScript 来配置:
document.addEventListener('DOMContentLoaded', function() {
var collapsibles = document.querySelectorAll('.collapsible');
var options = {
onOpenStart: function() {
console.log('Open Start');
}
};
M.Collapsible.init(collapsibles, options);
});
其中 onOpenStart
表示展开动作开始时调用的函数,在本例中输出 "Open Start"。其它回调函数还有:
onOpenEnd
:展开动作结束时调用的函数;onCloseStart
:收起动作开始时调用的函数;onCloseEnd
:收起动作结束时调用的函数。