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 相关文章推荐
关于this和self的使用说明
Aug 01 Javascript
js网页版计算器的简单实现
Jul 02 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
Aug 25 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
Aug 31 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 Javascript
AngularJS模块学习之Anchor Scroll
Jan 19 Javascript
javascript+jQuery实现360开机时间显示效果
Nov 03 jQuery
值得收藏的八个常用的js正则表达式
Oct 19 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
Vue通过配置WebSocket并实现群聊功能
Dec 31 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
让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与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
页面中iframe相互传值传参
2009/12/13 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
3分钟快速搭建nodejs本地服务器方法运行测试html/js
2017/04/01 NodeJs
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
深入Python函数编程的一些特性
2015/04/13 Python
python获取本地计算机名字的方法
2015/04/29 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
python实现扫描日志关键字的示例
2018/04/28 Python
Python生成器常见问题及解决方案
2020/03/21 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
经典演讲稿范文
2013/12/30 职场文书
小学科学教学反思
2014/01/26 职场文书
2014个人年度工作总结
2014/12/15 职场文书
结婚通知短信大全
2015/04/17 职场文书
公司捐书倡议书
2015/04/27 职场文书
家长通知书家长意见
2015/06/03 职场文书
未婚证明格式
2015/06/15 职场文书
行政复议决定书
2015/06/24 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
全新239军机修复记
2022/04/05 无线电
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技