sjaakp/yii2-bandoneon

Yii 2.0 的轻量级手风琴小部件。

安装次数: 2,048

依赖项: 0

建议者: 0

安全: 0

星标: 5

关注者: 2

分支: 1

开放问题: 2

语言:JavaScript

类型:yii2-extension

1.0.2 2018-03-01 14:00 UTC

This package is auto-updated.

Last update: 2024-08-29 14:32:19 UTC


README

轻量级 Yii2 手风琴小部件

Latest Stable Version Total Downloads License

动机

在我看来,标准的 Yii2 JUI 手风琴小部件 存在一些问题。

  • 必须将部分标题和内容作为选项提供给小部件,这很繁琐。
  • 它生成具有固定类引用的 HTML,引入了新的并且可能是不期望的样式。
  • 它过于强大,依赖于完整的 jQuery UI 库。

Bandoneon 是 JUI 手风琴的轻量级、多功能的替代小部件。JavaScript 尺寸小于 1400 字节。它没有任何依赖,因此可以在没有 jQuery 的页面上使用。

在此 可以看到 Bandoneon 小部件的一些演示。

安装

安装 Bandoneon 的首选方式是通过 Composer。可以将以下内容添加到您的 composer.json 文件的 require 部分

"sjaakp/yii2-bandoneon": "*"

或者运行

composer require sjaakp/yii2-bandoneon "*"

您可以通过 下载 ZIP 格式的源代码 来手动安装 Bandoneon

用法

使用 Bandoneon,将部分包含在 Bandoneon::begin()Bandoneon::end() 调用之间的直通 HTML 中,如下所示

<?php use sjaakp\bandoneon\Bandoneon; ?>

<?php Bandoneon::begin() ?>

    <h4>Heading 1</h4>
    <div>Lorem ipsum ... felis ultricies.</div>

    <h4>Heading 2</h4>
    <div>Pellentesque aliquet ... placerat tincidunt.</div>

		...
    
    <h4>Heading n</h4>
    <div>Curabitur sit ... gravida nec turpis.</div>

<?php Bandoneon::end() ?>

您可以使用任何合理的 HTML 标签作为标题和部分。例如,这也同样有效

<?php use sjaakp\bandoneon\Bandoneon; ?>

<?php Bandoneon::begin() ?>

    <p>Heading 1</p>
    <p>Lorem ipsum ... felis ultricies.</p>

    <p>Heading 2</p>
    <p>Pellentesque aliquet ... placerat tincidunt.</p>

		...
    
    <p>Heading n</p>
    <p>Curabitur sit ... gravida nec turpis.</p>

<?php Bandoneon::end() ?>

Bandoneon 对标题和部分的 HTML 不做任何假设。它使用 CSS 选择器来区分奇数和偶数元素。部分和标题中的 HTML 可以尽可能复杂。

初始打开

如果您想使部分最初是打开的,只需将其标题添加到 "open" 类中即可,如下所示

    ...
	<h4 class="open">Heading 2</h4>
    <div>This section will be initially open...</div>
	...

周围元素

默认情况下,Bandoneon 创建一个 <div> 作为周围元素。您可以通过设置 Bandoneon::begin() 中的 'tag' 选项来修改此选项。

如果要根据 HTML 定义列表 <dl> 创建 Bandoneon,这可能很有用

<?php use sjaakp\bandoneon\Bandoneon; ?>

<?php Bandoneon::begin([
		'tag' => 'dl'
	]) ?>

    <dt>Heading 1</dt>
    <dd>Lorem ipsum ... felis ultricies.</dd>

    <dt>Heading 2</dt>
    <dd>Pellentesque aliquet ... placerat tincidunt.</dd>

		...
    
    <dt>Heading n</dt>
    <dd>Curabitur sit ... gravida nec turpis.</dd>

<?php Bandoneon::end() ?>

选项

Bandoneon 有两个客户端选项

  • speed:部分打开和关闭的速度,以每秒像素为单位。默认值:200
  • timing:动画的计时函数。有关 Mozilla 开发者网络 的更多信息。默认值:ease-in-out

一个非常缓慢的 Bandoneon 可能会被编码如下

<?php use sjaakp\bandoneon\Bandoneon; ?>

<?php Bandoneon::begin([
		'clientOptions' => [
	        'speed' => 12,
		]
	]) ?>

    <h4>Heading 1</h4>
    <div>Lorem ipsum ... felis ultricies.</div>

	...

构建 bandoneon.js

请确保已安装 npm

运行 npm install

运行 rollup -c