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 相关文章推荐
使用Math.floor与Math.random取随机整数的方法详解
May 07 Javascript
JS+css 图片自动缩放自适应大小
Aug 08 Javascript
jquery ajax 局部刷新小案例
Feb 08 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
Oct 31 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
HTML中使背景图片自适应浏览器大小实例详解
Apr 06 Javascript
当vue路由变化时,改变导航栏的样式方法
Aug 22 Javascript
vue+高德地图写地图选址组件的方法
May 18 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
Oct 12 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
Oct 27 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 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 正则学习实例
2008/07/30 PHP
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
jQuery live
2009/05/15 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
setinterval()与clearInterval()JS函数的调用方法
2015/01/21 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
Django框架自定义session处理操作示例
2019/05/27 Python
python调用并链接MATLAB脚本详解
2019/07/05 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
浅析python连接数据库的重要事项
2021/02/22 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
保护环境倡议书范文
2014/05/13 职场文书
2014年党支部承诺书
2014/05/30 职场文书
大专毕业生求职信
2014/07/05 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
医生见习报告范文
2014/11/03 职场文书
销售合作意向书范本
2015/05/08 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
php去除数组中为0的元素的实例分析
2021/11/17 PHP
Hive日期格式转换方法总结
2022/06/25 数据库
Go语言测试库testify使用学习
2022/07/23 Golang