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 相关文章推荐
JavaScript入门教程(11) js事件处理
Jan 31 Javascript
jquery.jstree 增加节点的双击事件代码
Jul 27 Javascript
JavaScript基础语法让人疑惑的地方小结
May 23 Javascript
用js判断页面是否加载完成实现代码
Dec 11 Javascript
Bootstrap每天必学之表单
Nov 23 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
Vue实现搜索 和新闻列表功能简单范例
Mar 16 Javascript
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
JavaScript创建、读取和删除cookie
Sep 03 Javascript
原生JS实现贪吃蛇小游戏
Mar 09 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
Sep 14 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
通过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
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
微信小程序入门教程
2016/11/18 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
Python3处理文件中每个词的方法
2015/05/22 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
pytorch 数据集图片显示方法
2018/07/26 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
IE9对HTML5中部分属性不支持的原因分析
2014/10/15 HTML / CSS
C#面试题
2016/05/06 面试题
毕业生自我鉴定
2013/12/04 职场文书
中专三年学习的个人自我评价
2013/12/12 职场文书
迎新晚会邀请函
2014/02/01 职场文书
电焊工岗位职责
2014/03/06 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
总经理检讨书范文
2015/02/16 职场文书
教学反思怎么写
2016/02/24 职场文书
话题作文之呼唤
2019/12/18 职场文书