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实现层叠式轮播图 的相关文章

  • vue3 父子组件传参详解

    前言 我引用了大佬的文章 但我实在找不到网址链接了 我记录在笔记上的 如果大佬看见了 麻烦给我说一下 我注明一下出处 建议先看son vue 里面写了那三种方式 首先放一个我的demo defineProps什么的父子传参api不用引入 直
  • uni-app编写轮播图

    使用usw就会显示swiper的快捷代码
  • Vue3 路由页面切换动画 animate.css

    animate css官网 可以通过以下的内容 来获取自己想要的动态切换样式 1 路由动画transition或者在组件中控制使用animate 安装 npm install animate css 在main ts中引入 import a
  • Vite创建Vue项目常用的vite.config.ts配置

    import fileURLToPath URL from node url import defineConfig loadEnv from vite import vue from vitejs plugin vue import ba
  • vue3+vite 使用 postcss-pxtorem、autoprefixer 实现自适应和自动添加前缀

    自动添加前缀 自适应 1 安装 postcss pxtorem 和 autoprefixer npm install postcss pxtorem save npm i autoprefixer 2 vite config js引入并配置
  • Vue3的fragment

    vue2时 组件的模板结构中出现多个标签时 需要使用根标签 vue3时 组件的模板结构中出现多个标签时 可以不用根标签 这是因为vue3会自动将多个标签用fragment包裹 举个例子 main js import createApp fr
  • 25_Vue3路由-VueRouter的基本使用及动态路由和路由嵌套

    Vue3路由之Vue router的基本使用及路由嵌套和动态路由 认识前端路由 路由其实是网络工程中的一个术语 在架构一个网络时 非常重要的两个设备就是路由器和交换机 当然 目前在我们生活中路由器也是越来越被大家所熟知 因为我们生活中都会用
  • vue3项目修改浏览器的项目icon小图标

    修改vue3项目的浏览器的图标 vue2修改图标
  • Vue3 自定义指令

    在前端项目中 有很多需求是需要在多页面进行逻辑处理 通常我们所需要的功能可以通过DOM操作来实现 或者多处功能一致 我们就可以使用自定义指令 在vue2中的自定义指令指令注册的方法是 v focus js import vue from v
  • 前端页面添加全局水印或指定页面添加水印

    前言 为了防止信息泄露或知识产权被侵犯 在web的世界里 对于图片文档等增加水印处理是十分有必要的 水印的添加根据环境可以分为两大类 前端浏览器环境添加和后端服务环境添加 今天介绍的就是通过canvas创建一张含有水印信息的背景图片 通过v
  • vue3 antd pro 框架动态路由

    此框架中路由权限使用了两种方法 主要介绍第二种方法 从路由表构建路由 前端对比后端权限字段过滤静态路由表 即 前端配置好全部的路由表 然后根据权限来与后端获取到的进行对比 最终展示对比后的数据 从后端获取路由表结构体 并构建前端路由 从后端
  • vue3-实战-04-管理后台表单校验-layout-菜单组件封装

    目录 1 自定义校验规则 2 layout组件静态页面搭建 3 logo组件封装 4 左侧菜单静态组件搭建 4 1 动态获取菜单数据 4 2 封装菜单动态展示组件 4 3 配置菜单名称 隐藏 图标属性 4 4 菜单刷新定位当前菜单 5 内容
  • 不习惯的 Vue3 起步六 の Echarts绘制下钻地图

    序 看过一些可视化大屏展示地图的例子 准备动手做做 既然要开始比制作 那么先把目标定好 做一个展示中国城市的下钻地图 使用 Vue3 Vite Typescript echarts 实现效果 准备工作 创建项目 因为准备使用Vue3 Vit
  • Vue3、setup的使用

    Vue3 setup ref reactive toRef toRefs 1 setup的使用 1 1 简介 1 2 setup注意点 1 3 定义响应式数据 1 4 toRefs 1 5 setup中执行方法 1 5 1 方式一 1 5
  • Vue3 -- teleport传送门

    目录 teleport传送门 例 蒙层特效 目标效果 代码演示 页面效果 未使用teleport存在的问题 使用teleport实现目标效果 完整代码 总结 teleport传送门 Teleport 是一种能够移动 DOM到Vue根节点之外
  • Vue实例挂载的过程

    一 思考与分析 我们都听过知其然知其所以然这句话 那么不知道是否思考过new Vue 这个过程中究竟做了些什么 过程中是如何完成数据的绑定 又是如何将数据渲染到视图的等等 首先找到vue的构造函数 源码位置 src core instanc
  • vue3配置eslint 出现问题

    vue3配置eslint 出现问题 标题必须使用导入来加载 ES 模块 ESlint Error Must use import to load ES Module 加上这一行即可
  • vue3中的readonly

    接受一个对象 不论是响应式还是普通的 或是一个 ref 返回一个原值的只读代理 只读代理是深层的 对任何嵌套属性的访问都将是只读的 它的 ref 解包行为与 reactive 相同 但解包得到的值是只读的 类型 function reado
  • swiper 轮播 多行多列 横向排列

    一直没仔细研究过swiper 用到了swiper多行多列的展示效果 官网默认是纵向排列 想要做到横向排列 需添加一个一个属性 slidesPerColumnFill row slidesPerView 4 slidesPerColumn 4
  • Vue3+Echarts:堆积柱状图的绘制

    一 需求 在Vue3项目中 想用Echarts来绘制堆积柱状图 去展示最近一周APP在不同渠道的登录人数 效果如下 二 实现 关于Echarts的下载安装以及图表的样式设计 此处不展开 1 Templates部分

随机推荐

  • 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 实现缩略图的轮播图效果 具体如下图所示 代码