CardSlide.js 卡片切换,超进化组件 S
Demo
在线预览:Demo
How to use
npm i @nostar/card-slide -S
<div class="card-slide-box">
<div class="card-slide-wrapper">
<div class="card-slide">
1
</div>
<div class="card-slide">
2
</div>
<div class="card-slide">
3
</div>
</div>
</div>
import CardSlide from "@nostar/card-slide";
import "@nostar/card-slide/dist/css/card-slide.css";
new CardSlide(document.querySelector(".card-slide-box"), {
autoplay: 0,
gutter: 20,
speed: 350,
dragRelation: "rtl",
dragPrevable: false,
swiperStart: function (activeIndex) {
let _this = this;
_this.setStyle(_this.$slides[activeIndex], {
background: "#fff",
});
setTimeout(function () {
_this.setStyle(_this.$slides[activeIndex], {
background: "",
});
}, 150);
},
});
API
| Option |
Type |
Default |
Description |
| autoplay |
int |
0 |
自动切换的毫秒数,为0则不开启 |
| speed |
int |
350 |
卡片切换的动画毫秒数 |
| effect |
string |
'ease-out' |
卡片切换的time function |
| drag |
boolean |
true |
是否开启拖拽切换 |
| dragRelation |
string |
'ltr' |
拖拽方向识别,ltr或rtl,正反方向 |
| dragDistance |
int |
50 |
拖拽识别的像素距离 |
| dragPrevable |
boolean |
true |
是否支持拖拽向前翻页 |
| childrenTouchStop |
boolean |
false |
禁止事件冒泡 |
| childrenTouchPrevent |
boolean |
true |
禁止事件浏览器默认行为 |
| dragNextable |
boolean |
true |
是否支持拖拽向后翻页 |
| nextBtn |
string |
'.card-slide-next' |
dom下的下一张按钮的选择器 |
| prevBtn |
string |
'.card-slide-prev' |
dom下的上一张按钮的选择器 |
| direction |
string |
'horizontal' |
设置方向。水平:horizontal 垂直:vertical |
| activeClass |
string |
'card-slide-active' |
当前卡片的追加样式 |
| gutter |
int |
10 |
3D视角下的偏移量 |
| width |
int |
undefined |
卡片宽度。不传会读取第一个卡片的宽度 |
| height |
int |
undefined |
卡片高度。不传会读取第一个卡片的高度 |
| swiperStart |
function |
function(activeIndex,nextIndex){} |
this指向当前实例化对象。参数有opts/settings/$dom/$wrap/$slides/next/prev/activeIndex等 |