轻量级滑块Swiper插件发布(仅3kb)

Light-Swiper

专注于移动端、轻量级Swiper原生插件(3kb gziped)。触摸事件基于element,不影响页面的触摸事件(如右滑返回上一页)

重构于Swipe,实现自定义swipe宽度、偏移量、无限轮播、事件复制等功能,体验更加流畅

Git仓库

如果觉得有用的话,欢迎star~

预览

预览

安装

npm install light-swiper
// or
yarn add light-swiper
复制代码

或者通过script标签的形式引入

<script src="./swiper.min.js"></script>
复制代码

现在,你可以使用全局变量lightSwiper

用法

light-swiper只需要遵循简单的布局模式,如:

<div class="light-swiper">
  <div class="swiper-wrap">
    <div class="swipe-item"></div>
    <div class="swipe-item"></div>
    <div class="swipe-item"></div>
    <div class="swipe-item"></div>
  </div>
</div>
复制代码

以上是最初需要的结构:一系列元素包裹在两个容器中。 在每个swipe-item可以自定义你想要的内容。初始化Swiper只需简单一行代码,传入swiper的最外层DOM即可,如下所示:

import Swiper from 'light-swiper'

const mySwiper = new Swiper(document.querySelector('.light-swiper'));
复制代码

除此之外,还需要一些简单的CSS样式:

.light-swiper {
  overflow: hidden;
  position: relative;
}

.swiper-wrap {
  overflow: hidden;
  position: relative;
}

.swipe-item {
  float: left;
  width: 100%;
  position: relative;
}
复制代码

自定义配置选项

滑动可以选择第二个参数: [options]

参数说明类型默认值
startSlide默认的索引位置int0
speed动画执行时间int300
auto是否自动播放, 传入切换时间int-
continuous是否循环播放booleanfalse
width单个swipe的宽度,一般在需要预览多个swipe时使用int-
offset距离左边的偏移量,一般在需要预览多个swipe时使用int-
disableScroll禁用Swiper的所有触摸事件booleanfalse
stopPropagation阻止事件冒泡booleanfalse
callback事件回调Function(index, currentEl)
transitionEnd动画完成事件Function(index, currentEl)
swiping使用已刷过的全宽度的百分比(0-1)进行滑动时调用Function(percent)

例子

const mySwiper = new Swiper(document.querySelector('.light-swiper'), {
  width: 310,
  offset: 30,
  startSlide: 2,
  speed: 400,
  auto: 3000,
  continuous: true,
  disableScroll: false,
  stopPropagation: false,
  callback: function(index, elem) {},
  transitionEnd: function(index, elem) {}
});
复制代码

API

light-swiper暴露了以下可以控制滑动的API:

prev() 滑动到上一页

next() 滑动到下一页

getPos() 返回当前位置的索引

getNumSlides() 返回滑块总数量

kill() 销毁当前Swiper实例

兼容性

Swipe现在兼容所有浏览器,包括IE7 +。 Swipe最适合支持CSS变换和触摸的设备,但也可以在没有这些设备的情况下使用。 一些辅助方法确定触摸和CSS转换支持并相应地选择适当的动画方法。

谁在用Swipe

  • CNN
  • Craigslist
  • Airbnb
  • NHL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值