vue移动端轻量级的轮播组件实现代码


Posted in Javascript onJuly 12, 2018

一个简单的移动端卡片滑动轮播组件,适用于Vue2.x

c-swipe 2.0 全新归来。重写了全部的代码,更靠谱的质量,更优秀的性能

vue移动端轻量级的轮播组件实现代码

English Document

安装

npm install c-swipe --save

使用

注册组件

// main.js
// 引入 c-swipe 主文件
import 'c-swipe/dist/swipe.css';
import { Swipe, SwipeItem } from 'c-swipe';
// 全局注册组件
Vue.component('swipe', Swipe);
Vue.component('swipe-item', SwipeItem);

在 .vue 单文件组件中使用:

<swipe
 v-model="index"
 style="text-align: center; line-height: 80px; height: 100px; background: #42b983;"
>
 <swipe-item style="height: 100px; line-height: 100px">item1</swipe-item>
 <swipe-item style="height: 100px; line-height: 100px">item2</swipe-item>
 <swipe-item style="height: 100px; line-height: 100px">item3</swipe-item>
</swipe>
new Vue({
 data: function () {
  return {
   index: 0, // two way
  };
 },
});

或者,你想在 html 标签中直接引用

<link href="../node-modules/c-swipe/dist/swipe.css" rel="external nofollow" rel="stylesheet"></head>
<script type="text/javascript" src="../node-modules/c-swipe/dist/swipe.js"></script>
var vueSwipe = swipe.Swipe;
var vueSwipeItem = swipe.SwipeItem;
new Vue({
 el: 'body',
 // 注册组件
 components: {
  'swipe': vueSwipe,
  'swipe-item': vueSwipeItem
 },
 // ...
 // ...
});

配置

选项 类型 默认 描述
v-model Number 0 绑定了当前显示卡片的索引,该数据为双向绑定,可通过更改 v-model 的值直接更改当前显示卡片
pagination Boolean true 是否需要默认样式的导航器
loop Boolean true 循环切换
autoplayTime Number 0 单位 ms,自动切换卡片的时间间隔,值为 0 时不自动切换
speed Number 300 单位 ms, 切换卡片时的过渡效果的播放时长
minMoveDistance String '20%' 成功触发切换卡片事件的最小滑动距离,可以传入百分比,如 '20%',或者传入具体像素距离,如 '80px'。

方法

swipe.reset()

c-swipe 内部将重新计算 Swipe 的宽度,并根据新的宽度来计算滚屏的距离。这个可以解决容器重置大小后 c-swipe 滚屏距离不正确的问题。

例:

<swipe ref="swipe">
 <swipe-item>item1</swipe-item>
 <swipe-item>item2</swipe-item>
 <swipe-item>item3</swipe-item>
</swipe>
<script>
 export default {
  // ...
  // ...
  handleResize() {
   this.$refs.swipe.reset();
  }
  mounted() {
   // 避免上下文丢失
   this.handleResize = this.handleResize.bind(this);
   window.addEventListener('resize', this.handleResize);
  },
  destroyed() {
   window.removeEventListener('resize', this.handleResize);
  }
  // ...
  // ...
 }
</script>

总结

以上所述是小编给大家介绍的vue移动端轻量级的轮播组件实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
在线编辑器的实现原理(兼容IE和FireFox)
Mar 09 Javascript
CLASS_CONFUSION JS混淆 全源码
Dec 12 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
js将当前时间格式转换成时间搓(自写)
Sep 26 Javascript
js获取当前月的第一天和最后一天的小例子
Nov 18 Javascript
javascript 控制input只允许输入的各种指定内容
Jun 19 Javascript
简单实现异步编程promise模式
Jul 31 Javascript
详解AngularJS2 Http服务
Jun 26 Javascript
jQuery扩展_动力节点Java学院整理
Jul 05 jQuery
node通过express搭建自己的服务器
Sep 30 Javascript
微信小程序实现上传图片裁剪图片过程解析
Aug 22 Javascript
layui的layedit富文本赋值方法
Sep 18 Javascript
详解node.js的http模块实例演示
Jul 12 #Javascript
Vue中使用的EventBus有生命周期
Jul 12 #Javascript
JavaScript中发出HTTP请求最常用的方法
Jul 12 #Javascript
vue实现引入本地json的方法分析
Jul 12 #Javascript
jQuery实现checkbox全选功能完整实例
Jul 12 #jQuery
JS实现将二维数组转为json格式字符串操作示例
Jul 12 #Javascript
vue路由组件按需加载的几种方法小结
Jul 12 #Javascript
You might like
Apache2 httpd.conf 中文版
2006/11/17 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
python解析xml文件实例分享
2013/12/04 Python
python生成IP段的方法
2015/07/07 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
结构和类有什么异同
2012/07/16 面试题
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
施工安全承诺书
2014/05/22 职场文书
英文求职信范文
2014/05/23 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
父亲节活动总结
2015/02/12 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书