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 EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 Javascript
js控制href内容的连接内容的变化示例
Apr 30 Javascript
javascript模拟map输出与去除重复项的方法
Feb 09 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
浅谈javascript基础之客户端事件驱动
Jun 10 Javascript
详解JS: reduce方法实现 webpack多文件入口
Feb 14 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
May 31 Javascript
PostgreSQL Node.js实现函数计算方法示例
Feb 12 Javascript
layui table设置某一行的字体颜色方法
Sep 05 Javascript
layui 监听select选择 获取当前select的ID名称方法
Sep 24 Javascript
JavaScript中的Proxy对象
Nov 27 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 模拟POST|GET操作实现代码
2010/07/20 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
php时间函数用法分析
2016/05/28 PHP
php多线程并发实现方法
2016/09/30 PHP
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
js轮播图代码分享
2016/07/14 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
应用电子技术专业个人求职信
2013/09/21 职场文书
高级电工工作职责
2013/11/21 职场文书
管理部部长岗位职责
2013/12/05 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
市场营销计划书
2015/01/17 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
初三语文教学反思
2016/03/03 职场文书