• 在页面开发中,经常会碰到需要轮播,滑动等需求,特别是多元素滑动,此时,要么自己写,要么网上找轮子,不过自己写,其实还是有点难度的,一般就是网上找写好的库,本文就是针对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. INTERVIEW #5

    笔试 150min,3题,每题100分,自己果然还是个蒟蒻呢~ 最近状态好差,虽然做了一些题,但还是考得稀烂,大概有几点需要加强: 独立做题,不要一边看板子一边写代码,更不要一开始就看题解: 对之前研 ...

  2. DP 60题 -3 HDU1058 Humble Numbers DP求状态数的老祖宗题目

    Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  3. keras-深度学习处理文本数据

    深度学习用于自然语言处理是将模式识别应用于单词.句子和段落,这与计算机视觉是将模式识别应用于像素大致相同.深度学习模型不会接收原始文本作为输入,它只能处理数值张量,因此我们必须将文本向量化(vecto ...

  4. 题目分享H 二代目

    题意:有m个限制,每个限制l1,r1,l2,r2四个数,限制了一个长度为n的数第l1到r1位要与第l2到r2相同,保证r1-l1=r2-l2,求在限制下一共有多少种数 分析: 暴力的话肯定是从l1-r ...

  5. 【UEFI】---史上最全的X86平台启动流程分析(软硬结合)

    最近研究了下X86处理器的启动流程分析,相比于常见的ARM来说,X86平台启动流程真的复杂了很多,本次基于项目实际的两个问题入手,研究了包括以下几个部分的内容: 1. 从硬件角度看启动流程 2. 从软 ...

  6. 更安全的rm命令,保护重要数据

    更安全的rm命令,保护重要数据 网上流传的安全的rm,几乎都是提供一个rm的"垃圾"回收站,在服务器环境上来说,这实非良方. 我想,提供一个安全的rm去保护一些重要的文件或目录不被 ...

  7. 【Hadoop离线基础总结】Yarn集群的资源调度

    Yarn集群的资源调度 介绍 概述 Yarn是 Hadoop 2.x 引入的新的资源管理系统模块,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,比如内存.CPU等),它不光管理硬件资源,还管 ...

  8. Coda docs

    a doc,反过来就是coda,有点冷. 对我而言,在线文档的好处在于在线数据库.存放代码等. Quip能高亮代码,但有时墙内不香,害得我用APP查看记录.Slite能高亮代码,但表格功能弱.号称al ...

  9. 线程和Python—Python多线程编程

    线程和Python 本节主要记录如何在 Python 中使用线程,其中包括全局解释器锁对线程的限制和对应的学习脚本. 全局解释器锁 Python 代码的执行是由 Python 虚拟机(又叫解释器主循环 ...

  10. Date工具遇到的一个坑

    private Date contractBeginDate(){ Calendar calendar = Calendar.getInstance(); calendar.setTime(new D ...