Vue3.2中使用swiper实现层叠式轮播图

2023-11-13

介绍

vue3 中使用 swiper 实现缩略图的轮播图效果,具体如下图所示:
在这里插入图片描述

代码

<template>
	<div class='index'>
		 <div class="banner-box">
	        <swiper
	        :autoplay="state.autoplay"
	        :loop="state.loop"
	        :speed="state.speed"
	        :slidesPerView="state.slidesPerView"
	        :loopedSlides="state.loopedSlides"
	        :centeredSlides="state.centeredSlides"
	        :watchSlidesProgress="state.watchSlidesProgress"
	        @setTransition="setTransition"
	        @progress="progress"
	      >
	        <swiper-slide style="width: 520px;" v-for="(item,index) in state.imgList" :key="index">
	          <img :src="item" alt="" style="width: 520px;">
	        </swiper-slide>
	      </swiper>
      </div>
	</div>
</template>
<script setup>
	const state = reactive({
	  autoplay: false,
	  watchSlidesProgress: true,   //计算每个slide的progress(进度、进程)
	  loop: true,
	  slidesPerView: "auto",
	  loopedSlides: 5,   //在loop模式下使用 slidesPerview:'auto',还需使用该参数设置所要用到的loop个数。
	  centeredSlides: true,   //活动块会居中,而不是默认状态下的居左。
	  imgList: [
	    './img1.png',
	    './img2.png',
	    './img3.png',
	    './img4.png',
	    './img5.png',
	  ]
	})
	const setTransition = (swiper, transition) => {
      // 每当设置Swiper开始过渡动画时执行。
      // transtion获取到的是Swiper的speed值。
      for (var i = 0; i < swiper.slides.length; i++) {
        var slide = swiper.slides.eq(i);
        slide.transition(transition);
      }
    };
    const progress = (progress) => {
      for (var i = 0; i < progress.slides.length; i++) {
        var slide = progress.slides.eq(i);
        var slideProgress = progress.slides[i].progress;
        var modify = 1;
        if (Math.abs(slideProgress) > 1) {
          modify = (Math.abs(slideProgress) - 1) * 0.3 + 1;
        }
        var translate = slideProgress * modify * 240 + "px";
        var scale = 1 - Math.abs(slideProgress) / 5;
        var zIndex = 999 - Math.abs(Math.round(10 * slideProgress));
        slide.transform("translateX(" + translate + ") scale(" + scale + ")");
        slide.css("zIndex", zIndex);
        slide.css("opacity", 1);
        if (Math.abs(slideProgress) > 3) {
          slide.css("opacity", 0);
        }
      }
    };
</script>
<style lang="less" scoped>
.banner-box {
	width: 900px;
	margin: 0 auto;
	.swiper-slide {
		width: 520px;
		img {
			width: 520px;
		}
	}
}
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue3.2中使用swiper实现层叠式轮播图 的相关文章

  • 刷脸庞大的交易市场从而也带来新的商机

    现在我们外出买东西付款 已经有了非常便捷的扫码支付功能 这个功能不仅是年轻人喜欢使用 就连中老年人也跟上的时代的步伐 许多超市 便利店已经菜市场 都能够看到二维码的身影 但是随着时代不断地进步 扫码付款这一新兴方式 接二连三地被曝出许多风险

随机推荐

  • Unity自动滚动字幕的实现

    Unity自动滚动字幕的实现 首先按照图片里的进行创建 然后用代码获取Scrollbar 在将Value值一直变为1 using System Collections using System Collections Generic usi
  • Jupyter程序安装和使用指南【操作示例】

    Jupyter Notebook 简称Jupyter 是一个交互式编辑器 它支持运行40多种编程语言 便于创建和共享文档 Jupyter本质上是一个Web应用程序 与其他编辑器相比 它具有小巧 灵活 支持实时代码 方便图表展示等优点 下面分
  • ECCV 2020 Representation Learning on Visual-Symbolic Graphs for Video Understanding

    动机 自然视频中的事件通常产生于演员和目标之间的时空交互 并且涉及多个共同发生的活动和目标类 因此 需要开发能够对时空视觉和语义上下文进行有效建模的算法 捕捉这种上下文的一种方法是使用基于图的建模 它在计算机视觉中有着丰富的历史 传统的基于
  • qt day3

  • java自动装配_Spring中自动装配的4种方式

    Spring容器可以在不使用和元素的情况下自动装配相互协作的bean之间的关系 助于减少编写一个大的基于Spring的应用程序的XML配置的数量使用元素的autowire属性为一个bean定义指定自动装配模式 在Spring中 我们有4种方
  • 计算机网络期末总结复习(全)

    文章目录 第一章 概述 1 1 计算机网络在信息时代的作用 我国互联网发展状况 1 2 因特网概述 1 网络 互连网 互联网 和因特网 2 因特网发展的三个阶段 3 因特网的标准化工作 4 因特网的组成 补充
  • 78页PPT全面揭示互联网与传统行业的融合与碰撞

    正如报告的主题 融合与碰撞 移动互联网和传统行业正在融合与碰撞之间进行行业重塑 纵观教育行业 现阶段已经有四种运营模式逐渐成熟 但仍存在自身问题和很多外部矛盾 找准发展趋势意义重大 一起来看看水深火热的TMT产业发展趋势吧
  • 【前端demo】背景渐变动画

    文章目录 效果 过程 代码 html css 其他demo 效果 效果预览 https codepen io karshey pen OJrXZwQ 过程 注意 直接在body上加height 100 可能也会出现height为0的情况 这
  • docker修改服务器参数怎么办,Docker(32)- 如何修改 docker 容器的启动参数

    如果你还想从头学起 Docker 可以看看这个系列的文章哦 前言 有时候创建容器时忘了添加 restart 参数 导致 Docker 服务重启后 容器不会自动启动 每次都需要手动启动 很不方便 那现在如何针对已创建的容器修改 restart
  • LeetCode——动态规划篇(二)

    刷题顺序及思路来源于代码随想录 网站地址 https programmercarl com 目录 343 整数拆分 力扣 LeetCode 96 不同的二叉搜索树 力扣 LeetCode 416 分割等和子集 力扣 LeetCode 104
  • Java 自定义FTP连接池

    一 引入FTP包和连接池包
  • hadoop: Operation category READ is not supported in state standby

    1 背景 做kylin报错如下 日志内容如下 java io IOException OS command error exit with return code 1 error message Java HotSpot TM 64 Bit
  • Java8新特性之stream流常用操作(简易使用版)

    概念 什么是Stream流 优点一 代码更加简洁 stream操作配合Lambda表达式 加上自身提供了很多方法 操作集合代码更加简洁 优点二 性能方面 for循环是比较底层的操作 所以它的性能明显是比stream流的迭代器更加高的 但是s
  • python可以做回归分析吗_使用python进行回归分析

    一 概述 1 回归 利用样本 已知数据 产生拟合方程 从而对未知数据进行预测 2 分类线性回归 一元线性 多元线性 逻辑回归 实际上预测的是数据X属于分类Y的概率p 逻辑回归公式由 log p 1 p 0 1X 推导求得 非线性回归 3 求
  • SourceInght And Sublime Text 2 Using Skills

    工欲善其事 必先利其器 Sourceinsight 加入时间 http my oschina net xDreamYY blog 228814 Sourceinsight 加入快捷键 http www cnblogs com wangqig
  • 【Matlab启动报错】无法打开桌面:java.lang.NullPointerException

    今天兴致勃勃地准备跑跑simulink的时候发现matlab 打不开了 因为以后的研究方向几乎不用matlab 所以几个月没碰它了 上网查了有可能是兼容性的问题 但是改成了Vista发现并没有什么用 我接着在网上找到了可能是字体等windo
  • Android与H5交互 -- 点击H5跳转到 Android原生 页面 ,webview与h5(js)交互

    目录标题 Android与H5交互 一 清单文件 增加的配置 二 在你需要跳转的页面 清单文件中加入如下配置 三 整体结构布局如下 四 贴一下html里面的代码吧 五 具体实现如下 Android webview调用JS方法 JS中调用An
  • centos安装docker后,ping不能服务器ip

    工作中碰的问题 记录下解决过程 问题描述 2台内网服务器 A 172 20 72 77 和B 172 17 3 222 在A服务上ping B 安装 docker之前是可以ping通 安装docker之后确ping不通了 查找原因 在安装d
  • Ajax定时调用封装

    var dataUpload ajax请求数据 method function murl mdata method time1 time2 success 首次读取 setTimeout function aJax time1 定时读取函数
  • Vue3.2中使用swiper实现层叠式轮播图

    介绍 在 vue3 中使用 swiper 实现缩略图的轮播图效果 具体如下图所示 代码