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 获取滚动条位置等信息的函数
Sep 08 Javascript
js动态为代码着色显示行号
May 29 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
May 02 Javascript
jQuery的deferred对象使用详解
Sep 25 Javascript
bootstrapValidator表单验证插件学习
Dec 30 Javascript
详解在React中跨组件分发状态的三种方法
Aug 09 Javascript
vuejs实现折叠面板展开收缩动画效果
Sep 06 Javascript
angular5 子组件监听父组件传入值的变化方法
Sep 30 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
Nov 07 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
Feb 13 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 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设计模式之调解者模式的深入解析
2013/06/13 PHP
php删除数组元素示例分享
2014/02/17 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
php中动态修改ini配置
2014/10/14 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
Javascript !!的作用
2008/12/04 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
js跳转页面方法总结
2014/01/29 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
理解Python中函数的参数
2015/04/27 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
python 如何上传包到pypi
2020/12/24 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
2015年幼儿园个人工作总结
2015/04/25 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
自信主题班会
2015/08/14 职场文书
工程移交协议书
2016/03/24 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
MySQL 如何分析查询性能
2021/05/12 MySQL
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server