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 相关文章推荐
jQuery.Validate验证库的使用介绍
Apr 26 Javascript
JS随机生成不重复数据的实例方法
Jul 17 Javascript
js获得当前时区夏令时发生和终止的时间代码
Feb 23 Javascript
jQuery中on()方法用法实例
Jan 19 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
Aug 31 Javascript
Angular2自定义分页组件
Apr 19 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
Sep 21 Javascript
vue-cli+webpack项目 修改项目名称的方法
Feb 28 Javascript
npm 下载指定版本的组件方法
May 17 Javascript
JavaScript事件发布/订阅模式原理与用法分析
Aug 21 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
Mar 09 Javascript
微信小程序点击顶部导航栏切换样式代码实例
Nov 12 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
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
jquery制作LED 时钟特效
2015/02/01 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
微信小程序 教程之模板
2016/10/18 Javascript
babel基本使用详解
2017/02/17 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
python运行时间的几种方法
2016/06/17 Python
Python中函数参数匹配模型详解
2019/06/09 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
演讲比赛获奖感言
2014/02/02 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
《蜗牛》教学反思
2014/02/18 职场文书
优秀学生评语大全
2014/04/25 职场文书
论群众路线学习笔记
2014/11/06 职场文书
三峡大坝导游词
2015/01/31 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python
DIY胆机必读:各国电子管评价
2022/04/06 无线电