vue2实现可复用的轮播图carousel组件详解


Posted in Javascript onNovember 27, 2017

本文实例为大家分享了vue2实现轮播图carousel组件的使用方法,供大家参考,具体内容如下

1、千年老规矩,上效果图,说明功能:

(1) 实现定时器,鼠标未移上图片时,自动轮播切换

(2) 有左右切换按钮,可切换至上一张、下一张

(3)有底部小图标,可自由切换至任意一张

vue2实现可复用的轮播图carousel组件详解

github参考地址:https://github.com/chuanzaizai/vue_carousel

2、组件设计思路:

(1)由于是可复用的子组件,图片的宽高、定时器间隔时间、轮播图list应由父组件传入

vue2实现可复用的轮播图carousel组件详解

(2)定义子组件自身变量,由于我这里为了简化步骤,所以轮播图list就暂时就定义为一个常量

同时定义了pos默认展示的图片数组下标,后面的计算属性会很有用

定时器变量

vue2实现可复用的轮播图carousel组件详解

(3) 接着是比较关键的一些步骤:

a、为图片绑定的:src的计算属性

vue2实现可复用的轮播图carousel组件详解

vue2实现可复用的轮播图carousel组件详解

b、底部的小按钮应该动态生成,并且它的active样式应该依托于pos动态切换

vue2实现可复用的轮播图carousel组件详解

c、上一张、下一张、定时器切换时就是++或者--pos,同时在两个临界值0和defaultList.length-1是判断就可以

vue2实现可复用的轮播图carousel组件详解

d、由于下部小图标为动态生成、宽高不定,但是都应水平居中:

可采用flex布局,或者js调整样式

vue2实现可复用的轮播图carousel组件详解

3、说明一下这样设计的原因

(1)子组件的复用性不言而喻,可定义宽高、定时器切换时间

(2)比较重要的一点:

a、组件加载过程中,如果轮播图数量过多,假如有10张,按照传统加载模式,就初始化一次性加载,再自行切换,这对页面的性能是很大的挑战

b、在以上组件的设计中,用为将pos定义为0,初始化只会加载一张图片,定时器切换或者用户手动切换才会其余图片,这对用户体验是很大的改善

4、代码已上传至github,喜欢的小伙伴可以点个赞!!!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
OfflineSave离线保存代码再次发布使用说明
May 23 Javascript
js的一些常用方法小结
Jun 29 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
Javascript 事件冒泡机制详细介绍
Oct 10 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
浅谈node的事件机制
Oct 09 Javascript
JS动画定时器知识总结
Mar 23 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
javascript和php使用ajax通信传递JSON的实例
Aug 21 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
Jun 07 Javascript
创建与框架无关的JavaScript插件
Dec 01 Javascript
vue判断按钮是否可以点击
Apr 09 Vue.js
让bootstrap的carousel支持滑动滚屏的实现代码
Nov 27 #Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
Nov 27 #Javascript
vue2.0使用swiper组件实现轮播效果
Nov 27 #Javascript
解读vue生成的文件目录结构及说明
Nov 27 #Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 #Javascript
基于vue2.0实现简单轮播图
Nov 27 #Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 #Javascript
You might like
JAVA/JSP学习系列之六
2006/10/09 PHP
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
Ruffy javascript 学习笔记
2009/11/30 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
Python SQLite3简介
2018/02/22 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
行政经理岗位职责
2013/11/09 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
住宅质量保证书
2014/04/29 职场文书
德育标兵事迹材料
2014/08/24 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
漫画「处刑少女的生存之道」第3卷封面公开
2022/03/21 日漫
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏