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 相关文章推荐
判断页面是关闭还是刷新的js代码
Jan 28 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
jQuery 无限级菜单的简单实例
Feb 21 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
Jun 23 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
JS之if语句对接事件动作逻辑(详解)
Jun 28 Javascript
jQuery分组选择器简单用法示例
Apr 04 jQuery
微信小程序 select 下拉框组件功能
Sep 09 Javascript
vue data引入本地图片的两种方式小结
Nov 13 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 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
php格式化日期实例分析
2014/11/12 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
php正则修正符用法实例详解
2016/12/29 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
javascript 节点遍历函数
2010/03/28 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
巧用canvas
2017/01/21 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
js实现双色球效果
2020/08/02 Javascript
python读写ini配置文件方法实例分析
2015/06/30 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
python getpass实现密文实例详解
2019/09/24 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
关于毕业的中学校园广播稿
2014/01/26 职场文书
小学生新年寄语
2014/04/03 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书