vue使用插件做轮播图

vue使用 vue-awesome-swiper制作轮播图。

1.访问github,搜索vue-awesome-swiper,查看用法。

第一个坑:github居然访问不了。

解决办法:参考别人 https://www.cnblogs.com/Owen-ET/p/10868620.html

其实访不访问都没关系,照着下面步骤来就可以了。

2.安装 vue-awesome-swiper指定版本

第二个坑:必须用这个版本,要不然后面很多bug了。

npm i  [email protected] --save

3.在component文件夹里新建Swipe.vuer组件,然后把粘贴下面代码:

<template>
  <div>
    <div class="wrapper">
      <swiper ref="mySwiper" :options="swiperOptions">
        <swiper-slide v-for="(item,i) in picList" :key="i"><img :src="item.src"></swiper-slide>
        <div class="swiper-pagination" slot="pagination"></div>
      </swiper>
    </div>
  </div>
</template>
<script>
export default {
  name: "Swiper", // 此处不能用Swiper作为name,否则报错
  data() {
    return {
      swiperOptions: {
        pagination: ".swiper-pagination", // 轮播图的点
        loop:true, // 循环
      },
      picList:[
          {id:0,src:‘https://gtms01.alicdn.com/tps/i1/T1Ww_JFEpdXXcZd9sr-640-200.png‘},
          {id:1,src:‘https://gw.alicdn.com/imgextra/i3/149/O1CN01wekXPw1CyHZ23AC4R_!!149-0-lubanu.jpg‘}
      ]
    };
  }
};
</script>
/* 图片100% */
.swiper-slide img {
    width: 100%;
}

父组件引入Swipe.vue

第三个坑:这个新建的Swiper.vue的name不能叫Swiper!!!!!叫别的,比如,HomeSwiper

不然会报下面的错:

4.此时,这个轮播图,已经可以滑来滑去了。很开心了么。然后你滑来滑去的时候,居然发现,又有个警告了。

第四个坑:滑来滑去,发现下面这个错误

解决办法:在App.vue里加上下面的样式。

/* 解决轮播图滑动报错 */
*{touch-action: none;} 

5.出现在轮播图上的点,默认是蓝色的,要改成白色比较好看。

第五个坑:直接设置成白色是不行的。。。

解决办法:

<style lang="css" scoped>

.wrapper >>> .swiper-pagination-bullet-active{
    background-color: #fff !important;
}
</style>

效果:

完整代码:

Swiper.vue

<template>
  <div>
    <div class="wrapper">
      <swiper ref="mySwiper" :options="swiperOptions">
        <swiper-slide v-for="(item,i) in picList" :key="i"><img :src="item.src"></swiper-slide>
        <div class="swiper-pagination" slot="pagination"></div>
      </swiper>
    </div>
  </div>
</template>
<script>
export default {
  name: "HomeSwiper", // 此处不能Swiper作为name,否则报错
  data() {
    return {
      swiperOptions: {
        pagination: ".swiper-pagination", // 轮播图的点
        loop:true, // 循环
      },
      picList:[
          {id:0,src:‘https://gtms01.alicdn.com/tps/i1/T1Ww_JFEpdXXcZd9sr-640-200.png‘},
          {id:1,src:‘https://gw.alicdn.com/imgextra/i3/149/O1CN01wekXPw1CyHZ23AC4R_!!149-0-lubanu.jpg‘}
      ]
    };
  }
};
</script>
<style lang="css" scoped>

.wrapper >>> .swiper-pagination-bullet-active{
    background-color: #fff;
}
/* 图片100% */
.swiper-slide img {
    width: 100%;
}
</style>

App.vue

<style>
/* 解决轮播图滑动报错 */
*{touch-action: none;}
</style>

原文地址:https://www.cnblogs.com/luguankun/p/12630163.html

时间: 2024-08-13 03:36:35

vue使用插件做轮播图的相关文章

写jquery插件【轮播图】历程

轮播图插件的任务已经接近尾声,在书写轮播图期间确实有一些小的感触的.感兴趣的可以访问我的轮播图的线上地址:轮播图 首先,轮播图插件其实并不是我第一次写,之前也写过,不过那时候是按照别人的思路写下来的,算起来大概有一年了,这次又一次开始轮播图是因为拜读了<单页面Web应用 JavaScript从前端到后端>的这本书的1-4章,我开始跃跃欲试的想把它用到自己的代码中,书本中前四章的思想是将js模块化,我就跟着作者的代码思路以及代码习惯先尝试着做了个轮播图,发现作者的模块化思想非常好,时间长了,养成

用 CSS 做轮播图

对于用 css 实现一个轮播图的缘由,是那时候刚开始接触前端,完全还不懂 js.但是有一个项目(就是一个用来应付面试的作品)需要做一个轮播的效果,当时第一反应就是用 css3 自定义动画 -webkit-animation.做出来的效果自己觉得还可以,唯一的不足就是鼠标点击切换 banner 图和指定到某个图.如果项目中不需要切换变换图片的需求,用 css3 做,何尝不是一种办法.不多说,先上代码: html 代码如下: <div class="test"> <a h

vue上的简单轮播图

好久没写轮播图了,今天在vue上写了个超简单的,效果还ok. .moveLeft{position:relative;right:ZOOMpx;transition:all 1s;} 原理是滚动时利用.moveLeft向左移动一个格子,造成滚动的假象,此时第二张图在第一个格子的位置: 这时候把第一个格子 li 的元素摘下接到 ul 末尾,并马上撤掉.moveLeft.每张图都在自己的格子上. 定时器循环该操作,一直轮播.可以用touch事件添加touchmove左右滑动效果和切换图片的功能,就不

vue element 框架 自定义轮播图,点击上下翻图,并让图片居中

1.素材展示窗口,左侧预览滚动区域按分辨率做一屏最大预览数量做均分(超过最大预览数量是滚动条滑动) 2.左侧预览滚动区域增加浅灰色底色要求与滚动条颜色区分 3.预览滚动区域单个区域高度固定,素材图按比例缩放 4.素材图展示大图上下顶部及底部区域增加上下翻页箭头,点击有按压效果 5.预览的素材大图为左侧预览区域居中的素材,上下翻页,滚动区域居中素材跟随翻滚  以上是需求,下面贴代码 轮播图效果 template 1 <el-dialog class="material-dialog"

angular2----使用swiper做轮播图

步骤: 1.去官网下载最新的swiper的js和css 分别在index页面中导入 2.在需要做轮播的页面引入 3.然后我就打开swiper的API文档了,直接copy,初始化一个swiper 当然在angular2中不能这么写,于是变成了这样 在html中 在相关的ts中 emmm.... 本来我以为这样就好了 然后发现尼玛左右侧按钮和下面的分页按钮出不来! 于是又看了一个分页的API  发现需要把分页css也copy ,放进相应的css文件夹中的时候,以为ok了,运行,还是么有看到! 打开调

vue打包后,轮播图的动画内容位置显示不正确,且动画失效

解决方法: 1.在vue项目中找到build文件夹下的vue-loader.conf.js,将extract:isProduction  改为extract:false 此步骤打包后解决了动画图片位置错误的问题 2.package.json配置文件里面对浏览器的版本做了css的前缀处理 此步骤解决了动画失效问题 "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8

好久不做轮播图一想到滑来滑去就头痛

维护庞大杂乱的老项目,插件不适宜,最后看需求没说一定要滑,整了个淡入淡出: <script type="text/javascript"> var reviewed_id = 0; //图片标识 var reviewed_img_num = $(".img_ul").children("span").length; //图片个数 $(".img_ul span").hide(); //初始化图片 play(); s

swiper插件制作轮播图swiper2.x和3.x差别

swiper3.x只兼容到ie10+,比较适合移动端. swiper3.x官网  http://www.swiper.com.cn/ swiper2.x可以兼容到ie7+,官网是http://swiper2.swiper.com.cn/ 2.x和3.x使用上有差别 2.x需要引入 <linkrel="stylesheet"href="css/idangerous.swiper.css"><scriptsrc="js/idangerous.

一个用原生JS造的轮播图插件

a native-js slider 一个无缝轮播图的小轮子 ( ?° ?? ?°)?? 前言 自己弄这个轮子是来自之前vue做一个音乐播放器项目时,用到了一个第三方vue组件better-scroll,当时参考这个文档做轮播图的时候,发现slider-item真实渲染出来的多了两个节点,向作者提问了下,回答当传入 snap:{loop:true} 的时候,前后各 clone 一个节点,保证可以无缝循环轮播,那么多克隆这两个节点是怎么实现无无缝轮播图呢,查阅了相关原理,就做了下这个轮子. 在线演