• 在页面开发中,经常会碰到需要轮播,滑动等需求,特别是多元素滑动,此时,要么自己写,要么网上找轮子,不过自己写,其实还是有点难度的,一般就是网上找写好的库,本文就是针对vue-awesome-swiper的
  • 其实这个库很早了,就叫swiper,现在版本是swiper4了,功能非常丰富
  • 本次的具体需求如下:
    • 在一个固定大小的框中显示4个小礼物,然后自动轮播,每次变化一个,并且这里面部分礼物是可以点击的

本次碰到的主要问题是,在无限的轮播中,后面复制出来的元素无法绑定点击事件,下面是解决办法

<template>
<div class="swiper3">
<swiper :options="swiperOption">
<swiper-slide v-for="(item, index) in giftType" :key="index">
<div class="gift-type" :data-id="item.id">
<img :src="item.img" alt="">
<p>{{item.detail1}}</p>
<p class="point-text" style="height: 0.1rem;">{{item.detail2}}</p>
</div>
</swiper-slide>
</swiper>
</div>
</template> <script>
import 'swiper/dist/css/swiper.css'
import { swiper, swiperSlide } from 'vue-awesome-swiper'
export default {
name: "swiper3",
components: {
swiper,
swiperSlide
},
data() {
const vm = this;
return {
swiperOption: {
// spaceBetween: 4,
slidesPerView:4,
loop : true,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false,
},
on: { //关键在这儿,通过点击事件拿到对应的元素,从而确定具体index
tap:function (e) {
console.log(e,e.target,'click');
let dom=e.target.parentNode;
// console.log(dom.dataset.id);
vm.handle(dom.dataset.id); }
}
},
swiperSlides: [1, 2, 3, 4, 5,6],
giftType:[{
img: require('../assets/gifts/icon-gift.png'),
detail1:'*10EXP',
detail2:'كمية يومية 50 ',
id:1
},
{
img: require('../assets/gifts/icon-super-id.png'),
detail1:'ارقام يوميا',
detail2:'3 ',
id:2
},
{
img: require('../assets/gifts/icon-enter.png'),
detail1:'تأثيرات الدخول',
detail2:'',
id:3
},
{
img: require('../assets/gifts/icon-exp.png'),
detail1:'800-6000',
detail2:'',
id:4
},
{
img: require('../assets/gifts/icon-coins.png'),
detail1:'100-1000',
detail2:'',
id:5
}
],
}
},
methods:{
handle(id){
console.log(id,'点击了');
//这里写点击的逻辑
}
}, }
</script> <style scoped lang="scss"> .swiper-container{
width:100%;
margin:0 auto;
position: relative;
background-image:linear-gradient(to right, #fef9df, #fae49d,#fef9df);
height: 1.5rem;
}
.swiper-slide{
width: 25%; transform:scale(1);
transition-timing-function: ease;
transition-duration: 300ms;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
padding: 0.14rem 0 0.11rem;
.gift-type{
width: 100%;
height: 100%;
font-size:0.12rem;
font-weight: bold;
color: #366F5E;
line-height: 0.18rem;
/* background: #000;*/
.point-text{
color:red;
}
img{
width: 0.76rem;
height: 0.72rem;
}
p{
width: 100%;
text-align: center;
} } }
.slider-item.slider-active {
transform:scale(1.0);
z-index: 999;
}
.slider-item.slider-active-copy {
transform:scale(1.0);
z-index: 999;
}
</style>

vue中 vue-awesome-swiper的使用的更多相关文章

  1. 在Vue中使用了Swiper ,动态从后台获取数据的之后,swiper滑动失效??

    在Vue中使用了Swiper ,动态从后台获取数据的之后,swiper滑动失效?? 是因为swiper提前初始化了,那时候数据还没有完全出来.这里有两种解决办法 1. 使用vue提供的$nextTic ...

  2. Vue中怎样使用swiper组件?

    我用的VS Code编译器,首先打开终端,进入项目(我是在13-vue文件夹下面的elem中使用) D:\study\web\13-vue\elem> cnpm install vue-awes ...

  3. Vue中v-for配合使用Swiper插件问题

    问题描述: 在一个页面中需要一个用swiper的轮播图,数据大概有40条,每一屏幕的swiper只显示其中的n条数据. 代码描述: <div id="app"> < ...

  4. Vue中vue.config的配置

    vue-cli 3.x 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动在根目录中创建 vue.config.js. vue.config.js 是一个可选的配置文件,如果 ...

  5. vue中 Vue.set 的使用

    Vue.set(vm.items, indexOfItem, newValue) 1.vm.items :源数据:2.indexOfItem : 要修改的数据的键3.newValue : 要修改的数据 ...

  6. vue中引用swiper轮播插件

    有时候我们需要在vue中使用轮播组件,如果是在vue组件中引入第三方组件的话,最好通过npm安装,从而进行统一安装包管理. 申明:本文所使用的是vue.2x版本. 通过npm安装插件: npm ins ...

  7. vue中添加swiper轮播插件

    网上找了很多,最后还是官网最完整. https://github.com/surmon-china/vue-awesome-swiper 安装: 1.npm install vue-awesome-s ...

  8. vue中修改swiper样式

    问题 vue单文件组件中无法修改swiper样式. 解决 1,单文件组件中:新增一个style 不加scoped 让它最终成为全局样式.只在其中操作swiper的样式. <style lang= ...

  9. vue中引入swiper插件

    这里我们使用npm的方式安装swiper插件. 1.npm install vue-awesome-swiper --save 2.在main.js文件中引入文件 import Vue from 'v ...

  10. vue中的swiper element ui

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 很多同学问,怎么把swiper引入到vue的脚手架里去,之前的一篇博客有提到怎么引入,但是后来感觉不怎么好,还是用一些v ...

随机推荐

  1. C++基本知识总结

    从第一个CPP开始写起: "hello,world" #include<iostream> using namespace std;//使用所有命名空间 int mai ...

  2. python-函数变量与方法公有、私有整理

    关于函数与方法的区别: 函数: def funname(): 括号里面可以有形参,也可以没有,为空 在函数里面的参数整理: 方法: def funcname(self): 括号里面必须有个self,因 ...

  3. Kubernetes笔记(二):了解k8s的基本组件与概念

    前文 Kubernetes笔记(一):十分钟部署一套K8s环境 介绍了如何快速搭建一个k8s系统.为了继续使用k8s来部署我们的应用,需要先对k8s中的一些基本组件与概念有个了解. Kubernete ...

  4. SpringData Redis的简单使用

    SpringDate Redis是在Jedis框架的基础之上对Redis进行了高度封装,通过简单的属性配置就可以通过调用方法完成对Redis数据库的操作,而且SpringData Redis使用了连接 ...

  5. 微信小程序-swiper(轮播图)抖动问题

    ps:问题 组件swiper(轮播图)真机上不自动滚动 一直卡在那里抖动 以前遇到这个问题,官方一直没有正面回复.就搁置了,不过有大半年没写小程序了也没去关注,今天就去看了下官方文档,发觉更新了点好东 ...

  6. 物流配送中心管理系统(SSM+MYSQL)

    工程项目视频观看地址:www.toutiao.com/i6804066711… 本文首先对系统所涉及到的基础理论知识进行阐述,并在此基础上进行了系统分析.系统分析是平台开发的一个不可缺少的环节,为了能 ...

  7. USACO 3.1 Contact

    http://www.nocow.cn/index.php/Translate:USACO/contact 题目大意:给一个只含0和1的序列,统计每个子序列的重复次数,并按次数递减来输出 考虑子序列时 ...

  8. lsof 命令用法:查看已删除空间却没有释放的进程

    查看已经删除的文件,空间有没有释放,没有的话kill掉pid lsof -n |grep deleted lsof简介lsof(list open files)是一个列出当前系统打开文件的工具. 问题 ...

  9. CentOS 7搭建Zookeeper和Kafka集群

    环境 CentOS 7.4 Zookeeper-3.6.1 Kafka_2.13-2.4.1 Kafka-manager-2.0.0.2 本次安装的软件全部在 /home/javateam 目录下. ...

  10. 你不知道的事---SringCloud的feign的继承特性

    前言 说起SpringChoud的feign大家用过的都说好.Feign是Netflix开发的声明式.模板化的HTTP客户端.对于我们微服务来说,微服务之间的api调用,使用feign来说是再方便不过 ...