基于vue的swiper动画轮播图

2023-11-13

以前做轮播都是参照 https://www.swiper.com.cn/ 去做,

使用最多的是https://github.com/surmon-china/vue-awesome-swiper 这个插件但是,因为介绍不够详细经常性遇到各种问题,。

直到几天前我看到一个网址,忽然觉得以前解决问题的时间全部白花了。

https://surmon-china.github.io/vue-awesome-swiper/

这里边居然有各种轮播图对应的各种vue实现方式。

然后我发现一个问题 vue-awesome-swipe插件不像 swiper 一样支持 animate.css 动画,具体原因是swiper.animate.min.js 布支持npm 的引入方式,这样就简单了,那我们把这个文件进行封装不就好了,具体代码如下

/* eslint-disable */
export function swiperAnimateCache() {
  const allBoxes = window.document.documentElement.querySelectorAll('.ani')
  for (var i = 0; i < allBoxes.length; i++) {
    allBoxes[i].attributes['style']
      ? allBoxes[i].setAttribute('swiper-animate-style-cache', allBoxes[i].attributes['style'].value)
      : allBoxes[i].setAttribute('swiper-animate-style-cache', ' ')
    allBoxes[i].style.visibility = 'hidden'
  }
}

export function swiperAnimate(a) {
  clearSwiperAnimate()
  var b = a.slides[a.activeIndex].querySelectorAll('.ani')
  for (var i = 0; i < b.length; i++) {
    b[i].style.visibility = 'visible'
    const effect = b[i].attributes['swiper-animate-effect']
      ? b[i].attributes['swiper-animate-effect'].value
      : ''
    b[i].className = b[i].className + ' ' + effect + ' ' + 'animated'
    const duration = b[i].attributes['swiper-animate-duration']
      ? b[i].attributes['swiper-animate-duration'].value
      : ''
    // duration && style
    const delay = b[i].attributes['swiper-animate-delay']
      ? b[i].attributes['swiper-animate-delay'].value
      : ''
    const style = b[i].attributes['style'].value + 'animation-duration:' + duration + ';-webkit-animation-duration:' + duration + ';' + 'animation-delay:' + delay + ';-webkit-animation-delay:' + delay + ';'
    // delay && (style = style )
    b[i].setAttribute('style', style)
  }
}

export function clearSwiperAnimate() {
  var allBoxes = window.document.documentElement.querySelectorAll('.ani')
  for (var i = 0; i < allBoxes.length; i++) {
    allBoxes[i].attributes['swiper-animate-style-cache'] && allBoxes[i].setAttribute('style', allBoxes[i].attributes['swiper-animate-style-cache'].value)
    allBoxes[i].style.visibility = 'hidden'
    allBoxes[i].className = allBoxes[i].className.replace('animated', ' ')
    const effectValue = allBoxes[i].attributes['swiper-animate-effect'].value
    /* eslint-disable-next-line */
    allBoxes[i].attributes['swiper-animate-effect'] && (effectValue, allBoxes[i].className = allBoxes[i].className.replace(effectValue, ' '))
  }
}

文件百度云盘自取

链接:https://pan.baidu.com/s/1NnFGGuAg4XW8H4DdMFzifQ 
提取码:8xg2 

 

使用方法

第一步:

第二步:

第三步:

 

嗯嗯,就是这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于vue的swiper动画轮播图 的相关文章

随机推荐

  • centos yum安装mysql出现的错误与解决办法

    1 InnoDB Error ib logfile0 of different size 错误的解决方法 查看Mysqld var log mysqld log 日志 发现以下错误 InnoDB Error log file usr loc
  • 冒泡排序--java(详解)

    对于一个数组 4 6 3 9 而言 首先进行第一轮 第一次比较 4 lt 6 所以不用交换两元素 数组不变为 4 6 3 9 第二次比较 6 gt 3 所以交换两元素 得到一个新数组为 4 3 6 9 第三次比较 6 lt 9 所以不用交换
  • 计算机维修培训教材,计算机芯片级维中心(芯片级维修培训教材)b.doc

    计算机芯片级维中心 芯片级维修培训教材 b 一 芯片的功能 作用及性能 具体内容 芯片组 南桥 北桥 BIOS芯片 时钟发生器IC RTC实时时钟 I O芯片 串口芯片75232 缓冲器244 245 门电路74系列 电阻R 电容C 二极管
  • Java笔记1:IntelliJ IDEA详细安装步骤

    安装IntelliJ IDEA 一 安装JDK 1 下载最新的jdk 这里下的是jdk 8u66 2 将jdk安装到默认的路径C Program Files Java目录下 二 安装IntelliJ IDEA 1 运行IntelliJ ID
  • Redis中SAVE和BGSAVE的区别

    Redis的这两个命令都是用于创建当前数据库的备份 因为Redis持久化选择RDB快照模式 所以Redis并不是实时的进行数据持久化 而是有一定的时间间隔 这个时候如果我们想要手动进行一次持久化 可以使用save或者bgsave命令 SAV
  • 如何使用sharemouse共享鼠标

    如何使用sharemouse共享鼠标 文章目录 如何使用sharemouse共享鼠标 1 Step 1 查看server IP 2 Step 2 配置Server的TCP UDP端口 设置密码 3 Step 3 client连接server
  • #ifndef/#define/#endif使用详解

    问题 想必很多人都看过 头文件中的 ifndef define endif 防止该头文件被重复引用 但是是否能理解 被重复引用 是什么意思 是不能在不同的两个文件中使用include来包含这个头文件吗 如果头文件被重复引用了 会产生什么后果
  • Linux系统安全——NAT(SNAT、DNAT)

    目录 NAT SNAT SNAT实际操作 DNAT DNAT实际操作 NAT NAT network address translation 支持PREROUTING INPUT OUTPUT POSTROUTING四个链 请求报文 修改源
  • magma测试与安装,使用(含docker配置)

    作者Ubuntu 18 04 Docker的配置与安装 Docker更改镜像源 docker下载ubuntu docker运行进入容器 通过Dockfile更改docker中ubuntu的apt源 docker容器中的ubuntu的配置 下
  • Macbook(M2 Air) 使用笔记/经验分享

    文章目录 如何选择配置 如何看待溢价 目前体验感受 目前玩过游戏 目前续航体验 如何选择配置 教育优惠时只看到了8 256版本 在开了下列软件时遇到了内存压力瓶颈 若您有生产力需求请16 512起步 IDEA 社区版用于Java Sprin
  • Java菜鸟教程 面向对象初步(一)

    最近 笔者初步接触了java中 面向对象 的概念 在此做一下简单的分享 简单的介绍 一开始的编程软件如c语言 是属于 面向过程 的编程软件 当事件比较简单 可以利用线性的思维解决的时候 面向过程 的语言和 面向对象 的语言都可以解决这些问题
  • linux socket的阻塞和非阻塞设置方法

    非阻塞IO 和阻塞IO 在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念 这里对于这两种socket 先做一下说明 基本概念 阻塞IO socket 的阻塞模式意味着必须要做完IO 操作 包括错误 才会 返回 非阻塞IO 非
  • 用c语言打印*图案

    打印出以下图案 include
  • 安卓语音播报封装工具类

    封装类 import android annotation SuppressLint import android content Context import android speech tts TextToSpeech import
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • os.path.isdir()函数的作用和用法-判断是否为目录

    Python编程语言判断是否是目录 在Python编程语言中可以使用os path isdir 函数判断某一路径是否为目录 其函数原型如下所示 os path isdir path 其参数含义如下 path 要进行判断的路径 以下实例判断E
  • mysql知识系列:数据库名称带减号- 创建修改删除时

    说明 create database a b 会提示报错 ERROR 1064 42000 You have an error in your SQL syntax check the manual that corresponds to
  • 使用navicat for mysql连接远程mysql

    我是使用navicat的windows端 连接centos下mysql服务器 其实配过远程连接grant all privileges on to root identified by password 并在服务器控制台打开3306端口就可
  • 服务器操作系统使用相关要求,服务器操作系统的安全要求

    服务器操作系统的安全要求 内容精选 换一换 本文介绍创建裸金属服务器的几种方式 按照向导指引创建裸金属服务器是常见的方式 您可以灵活选择配置项 确保满足业务的需求 详细操作请参见创建裸金属服务器 如果您想快速获取一台裸金属服务器 可以创建快
  • 基于vue的swiper动画轮播图

    以前做轮播都是参照 https www swiper com cn 去做 使用最多的是https github com surmon china vue awesome swiper 这个插件但是 因为介绍不够详细经常性遇到各种问题 直到几