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 相关文章推荐
javascript仿qq界面的折叠菜单实现代码
Dec 12 Javascript
js窗口关闭提示信息(兼容IE和firefox)
Oct 23 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
初步使用Node连接Mysql数据库
Mar 03 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
Oct 22 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
Jul 19 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
Vue 中 filter 与 computed 的区别与用法解析
Nov 21 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
JavaScript实现栈结构详细过程
Dec 06 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
php输出1000以内质数(素数)示例
2014/02/16 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
浅谈Python中的数据类型
2015/05/05 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
儿童python练习实例
2018/05/27 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
美国网上书店:Barnes & Noble
2018/08/15 全球购物
结婚典礼证婚词
2014/01/11 职场文书
元旦晚会主持词
2014/03/24 职场文书
房屋租赁意向书
2014/04/01 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
七年级语文教学反思
2016/03/03 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
Python pandas求方差和标准差的方法实例
2021/08/04 Python
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers