vue使用swiper实现中间大两边小的轮播图效果


Posted in Javascript onNovember 24, 2019

项目中使用的vue,刚好有需求要实现轮播图,突出显示当前图片,两边展示其他图片;通过查各种资料,实现了,故在此记录下来

下面我们来看下实现步骤:

  • 第一步:首先在项目index.html中引入swiper的css文件- swiper.min.css
  • 第二部:写入dom结构
<div class="swiper-container">
 <div class="swiper-wrapper">
  <div
   v-for="(item, i) in pictures"
   :key="i"
   class="swiper-slide"
  >
   <!-- 具体内容 -->
   <img
    :src="item.advertiseImages"
    alt="商品图片"
   >
  </div>
 </div>
</div>

第三步:在项目中使用npm安装swiper模块

npm install swiper --save-dev

JS中文网 - 前端进阶资源教程www.javascriptC.com 一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容

第四步:在vue文件中引入,并初始化swiper; 先引入swiper

import Swiper from "swiper";

注意初始化需要放入mounted钩子中哦

import Swiper from "swiper";

export default {
 data() {
 return {
 }
 },
 mounted() {
 var mySwiper = new Swiper(".swiper-container", {
   direction: "horizontal",
   loop: false,
   slidesPerView: "auto",
   centeredSlides: true,
   spaceBetween: 20,
   observer: true,
   observeParents: true
 });
 }
}

如果你的项目中,图片是从后台接口获取,那么上面的初始化可能会出问题,这个时候我们采取另外的方式初始化swiper

import Swiper from "swiper";

export default {
 data() {
 return {
  mySwiper: null
 }
 },
 methods: {
 getdata() {
  promise.then(res => {
  this.pictures = res.images || [];
  this.$nextTick(() => {
   this.initSwiper();
  });
  });
 },
 initSwiper() {
   this.mySwiper = new Swiper(".swiper-container", {
    direction: "horizontal",
     loop: false,
     slidesPerView: "auto",
     centeredSlides: true,
     spaceBetween: 20,
     observer: true,
     observeParents: true
   });
   }
 }
}

把swiper的初始化放入vue的nextTick中执行,就解决掉问题啦

第五步:如果想获取当前滚动到哪一张图片怎么办呢

this.mySwiper.activeIndex;

使用activeIndex属性就可以获取到当前图片的索引啦。 那么我们这个功能就完成啦

总结

以上所述是小编给大家介绍的vue使用swiper实现中间大两边小的轮播图效果,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
JS函数重载的解决方案
May 13 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
bootstrap table动态加载数据示例代码
Mar 25 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
Apr 06 Javascript
Vue在页面数据渲染完成之后的调用方法
Sep 11 Javascript
教你使用vue-cli快速构建的小说阅读器
May 13 Javascript
vue项目创建步骤及路由router
Jan 14 Javascript
webpack的 rquire.context用法实现工程自动化的方法
Feb 07 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
Apr 13 Javascript
es6函数之箭头函数用法实例详解
Apr 25 Javascript
通过GASP让vue实现动态效果实例代码详解
Nov 24 #Javascript
JS控制只能输入数字并且最多允许小数点两位
Nov 24 #Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
Nov 24 #Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
Nov 24 #Javascript
mpvue微信小程序开发之实现一个弹幕评论
Nov 24 #Javascript
node.js中Buffer缓冲器的原理与使用方法分析
Nov 23 #Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 #Javascript
You might like
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
php实现购物车功能(下)
2016/01/05 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
Javascript将string类型转换int类型
2010/12/09 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
Python异常处理总结
2014/08/15 Python
Python中time模块和datetime模块的用法示例
2016/02/28 Python
Python 函数基础知识汇总
2018/03/09 Python
用pycharm开发django项目示例代码
2018/10/24 Python
python 构造三维全零数组的方法
2018/11/12 Python
python图像处理入门(一)
2019/04/04 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
Python实现Restful API的例子
2019/08/31 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
网站编辑求职信
2013/10/17 职场文书
超市端午节活动方案
2014/01/23 职场文书
党员实事承诺书
2014/03/26 职场文书
农村葬礼主持词
2014/03/31 职场文书
班级出游活动计划书
2014/08/15 职场文书
自主招生英文自荐信
2015/03/25 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
python批量创建变量并赋值操作
2021/06/03 Python
golang的文件创建及读写操作
2022/04/14 Golang