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实现自定义标签
May 08 Javascript
图片轮换效果实现代码(点击按钮停止执行)
Apr 12 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
May 15 Javascript
jQuery插件jRumble实现网页元素抖动
Jun 05 Javascript
JS+CSS实现的蓝色table选项卡效果
Oct 08 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
JS实现简单的右下角弹出提示窗口完整实例
Jun 21 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
ES6中的rest参数与扩展运算符详解
Jul 18 Javascript
SeaJS中use函数用法实例分析
Oct 10 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 jQuery
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
请离开include_once和require_once
2013/07/18 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
webpack之devtool详解
2018/02/10 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
python Django连接MySQL数据库做增删改查
2013/11/07 Python
python插入数据到列表的方法
2015/04/30 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
EM算法的python实现的方法步骤
2018/01/02 Python
python实现自动发送报警监控邮件
2018/06/21 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
远东集团网络工程师面试题
2014/10/20 面试题
行政专员岗位职责
2014/01/02 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
社区结对共建协议书
2016/03/23 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL