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 相关文章推荐
新手入门常用代码集锦
Jan 11 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
Dec 04 Javascript
js中array的sort()方法使用介绍
Feb 20 Javascript
Jquery动态替换div内容及动态展示的方法
Jan 23 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
Feb 13 Javascript
原生js实现图片轮播特效
Dec 18 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
Feb 05 Javascript
jquery实现倒计时小应用
Sep 19 jQuery
VSCode配置react开发环境的步骤
Dec 27 Javascript
element-ui upload组件多文件上传的示例代码
Oct 17 Javascript
JS实现公告上线滚动效果
Jan 10 Javascript
让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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
PHP开发中常用的8个小技巧
2008/08/27 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
用PHP代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
2016/08/16 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
Python实现截屏的函数
2015/07/26 Python
python二元表达式用法
2019/12/04 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
继电保护工岗位职责
2014/01/05 职场文书
18岁生日感言
2014/01/12 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
2014年创卫工作总结
2014/11/24 职场文书
简历中自我评价范文
2015/03/11 职场文书
社区干部培训心得体会
2016/01/06 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python