Security News
Supply Chain Attack Detected in @solana/web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
arale-switchable
Advanced tools
Switchable提供了切换的基本操作, 并通过参数配置实现了自动播放, 循环, 切换等操作, 并提供不同的特点封装成了Tabs, Slide, Carousel, Accordion模块. 用户可以根据自己的需求引用不同的模块.
Switchable 提供了切换的基本操作,并通过参数配置实现了自动播放,循环,切换等操作,并提供不同的特点封装成了Tabs, Slide, Carousel, Accordion模块。用户可以根据自己的需求引用不同的模块。
Switchable 继承了 widget,可使用其中包括 base、class、events、attribute、aspect 的属性和方法。
String|Array
触发器列表, 支持直接传入选择器,也可以是元素数组。
String|Array
面板列表,支持直接传入选择器,也可以是元素数组。
注意: 如果页面上有多个 Switchable 组件, triggers 和 panels 的 selector 最好写的更加精确些, 比如 triggers: '#banner .ui-switchable-nav li'
,
而不是 triggers: '.ui-switchable-nav li'
, 这样能避免多个组件引用 triggers/panels 的冲突.
String
触发类型,默认hover
.还可以选择click
Number
默认为100
, 触发器延迟时间,单位为毫秒。
String
触发器被选中时的class,默认ui-switchable-active
。
Number
初始化时,自动切换到指定面板,默认为0
,也就是第一个。
Number
步长,表示每次切换时需要间隔多少个panels, 默认为1
。
Array
可见视图区域的大小. 如果 css 中不设置 panel 的高宽或初始没有 panel , 则需要这里手工指定大小, 默认为 [].
当 panel 的高宽 css 中不指定时,需要设置 viewSize 为单个 panel 的高宽.
Boolean
是否自动切换,默认为false
, 开启后,不需要触发触发器,可以实现自动播放。
Number
自动播放间隔时间, 以毫秒为单位, 默认为 3000
。
Boolean
是否循环切换, 默认为 true
, 是否循环播放, 当切换到最初/最后一个时, 是否切换到最后/最初一个。
String
动画效果函数, 默认没有特效, 可取 scrollx
, scrolly
, fade
或者直接传入自定义效果函数.
Number
默认为 500
, 以毫秒为单位, 动画的时长.
String|Function
动画效果,目前支持,easeNode
默认, easeIn
, easeOut
, easeBoth
, easeInStrong
, easeOutStrong
, easeBothStrong
, elasticIn
, elasticOut
, elasticBoth
, backIn
, backOut
, backBoth
, bounceIn
, bounceOut
, bounceBoth
。
目前项目支持data-api的形式配置相关属性,并以role的形式配置到项目中,主要有下面6个role. 前面4个是所有组件均有效,后面2个,只在 Carousel 组件中生效.
其中前面4个仅在在属性配置中没有发现对应的panels
和 triggers
相关配置时,才会生效。
并且如果同时配置了下面的role, panel的优先级高于content. trigger高于nav.
panel
单个面板
content
面板列表元素
trigger
触发器
nav
触发器容器
<!-- 容器元素 -->
<div id="J_Slide">
<span data-role="prev">上一页</span>
<ul class="ui-switchable-nav" data-role="nav">
<li data-role="trigger">标题 A</li>
<li data-role="trigger">标题 B</li>
<li data-role="trigger">标题 C</li>
<li data-role="trigger">标题 D</li>
<li data-role="trigger">标题 E</li>
</ul>
<div class="ui-switchable-content" data-role="content"> <!-- 面板列表 -->
<div data-role="panel">内容 A</div>
<div style="display: none" data-role="panel">内容 B</div>
<div style="display: none" data-role="panel">内容 C</div>
<div style="display: none" data-role="panel">内容 D</div>
</div>
<span data-role="next">下一页</span>
</div>
prev
上一页 (仅在Carousel组件生效)
next
下一页 (仅在Carousle组件中生效)
有些属性在对应类型的模块可能有不同的默认值,还有一些特有的配置属性。
String
在此模块中,默认值为click
Boolean
是否支持多个面板展开,默认为false
。
Boolean
是否支持循环切换。默认true
selector
指定 前一个
触发器. 默认会加上类名ui-switchable-prev-btn
。
selector
指定 后一个
触发器. 默认会加上类名 ui-switchable-next-btn
。
String
prev/next 按钮不可用状态时的样式类
Boolean
是否自动切换,默认为true
。
Boolean
是否循环切换,默认为true
。
配置和基础类相同。
HTMLElement
容器元素。
Array
触发器集合, 可能为空。
Array
切换面板结合,可以为空值。
HTMLElement
存放面板的容器元素。
Number
只读, 触发器或面板的个数。
切换到某个视图。 toIndex {Number* 要切换到的项。 fromInex {Number* 当前项.
切换到上一视图。
切换到下一视图。
停止自动切换。只有设置了 autoplay true 时有效。
开始自动切换。
组件销毁。
在组件运行中,会触发相关事件,使用者可以根据自己的需要去监听对应的事件
面板切换前触发。
instance.on('switch', function(toIndex, fromIndex) {
});
面板切换后触发。
instance.on('switched', function(toIndex, fromIndex) {
});
面板改变时触发。
instance.on('change:activeIndex', function(toIndex, fromIndex) {
});
直接使用:
seajs.use(['tabs'], function(Tabs) {
var t = new Tabs({
element: '#demo1',
switchTo: 1,
effect: 'fade'
});
});
也可以适用自动渲染。详情可以参考examples/autorender.html
FAQs
Switchable提供了切换的基本操作, 并通过参数配置实现了自动播放, 循环, 切换等操作, 并提供不同的特点封装成了Tabs, Slide, Carousel, Accordion模块. 用户可以根据自己的需求引用不同的模块.
We found that arale-switchable demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.