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 相关文章推荐
Javascript Global对象
Aug 13 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
May 17 Javascript
详解Javascript 装载和执行
Nov 17 Javascript
微信小程序 页面跳转传参详解
Oct 28 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
Dec 11 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
element-ui的回调函数Events的用法详解
Oct 16 Javascript
javascript使用substring实现的展开与收缩文字功能示例
Jun 17 Javascript
vue的滚动条插件实现代码
Sep 07 Javascript
JS实现基本的网页计算器功能示例
Jan 16 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
Jun 04 Javascript
vue-cli中实现响应式布局的方法
Mar 02 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
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
PHP中PDO的错误处理
2011/09/04 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
python生成随机mac地址的方法
2015/03/16 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
中国文明网签名寄语
2014/01/18 职场文书
大学生就业策划书范文
2014/04/04 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
大学生党性分析材料
2014/12/19 职场文书
2014年英语工作总结
2014/12/20 职场文书
三八节活动主持词
2015/07/04 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS