Vue 满屏纵向轮播图

news2024/11/29 6:39:23

目录

    • 前言
    • 轮播图效果展示
    • 具体实现
      • 实现思路
      • 具体代码

前言

    今天汇总一个需求,还是之前写的,要求写一个满屏的轮播图,准确的说,是鼠标滑动到轮播图的时候,轮播图固定在屏幕上,随着其中的轮播子项遍历结束后,解除固定的效果。原本我最开始想直接修改Element-UI的组件的,但是里面一些内容非常不容易控制,最后终究是按照自己的需求重新写了一个。下面是最终效果展示。

轮播图效果展示

在这里插入图片描述

具体实现

实现思路

    首先整个轮播图所在位置即第二个部分,由两个部分组成,一个是 标题+左侧图片+右侧导航栏的固定部分,另一个是右边可以上下滑动的文字滚动部分。整个第二部分高度为三个轮播子项的高度综合。

    实现屏幕固定的核心思路就是给项目添加一个滚动监听器,当鼠标滚动到起始位置,即第二部分顶端位于屏幕顶端的时候,给固定部分添加 position:fixed 属性; 当滚动到终止位置,即最后一个子项的下边界与屏幕底部重叠的时候,给固定部分移除屏幕固定效果。

具体代码

<template>
  <div class="platform-container">
      <div class="first-page">
            <div class="title-box">
                <div class="title">第一部分</div>
            </div>
      </div>
      <div class="second-page" ref="secondPage">
            <div class="top-box" ref="topBox">
                <div class="title" >第二部分</div>
                <div class="control">
                    <div class="circle" :class="{'active': currentIndex === key}"  v-for="(item,key) in 3" :key="key" @click="changeItem(key)"></div>
                </div> 
                <div class="backImg">
                	<!-- 这里可以自定义固定的背景图片,我这里懒得弄了,直接填了纯色,虽然纯色看不出来背景也一起固定了  -->
                </div>
                <div class="image-box">
                    <div v-for="(item,key) in 3" :key="key">
                        <img class="rightImg" :class="{rightImg_active : currentIndex === key}" src="./assets/logo.svg" alt="图片展示失败"> 
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="box-background" v-for="(item,key) in characterData" :key="key">
                    <div class="item" :style="getItemStyle(key)">
                        <div class="content-box">
                            <div class="subtitle">{
  {item.title}}</div>
                        </div>
                    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2060029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

湖州网站建设快速建站

在当今信息化时代&#xff0c;网站的建设已成为企业和个人展示形象、传播信息的重要途径。湖州作为一个历史悠久、文化底蕴深厚的城市&#xff0c;发展迅速&#xff0c;涌现出许多需要快速建立网站的企业和个人。本文将探讨湖州网站建设的快速建站方案。 首先&#xff0c;快速建…

WRF-LES与PALM微尺度气象大涡模拟

针对微尺度气象的复杂性&#xff0c;大涡模拟&#xff08;LES&#xff09;提供了一种无可比拟的解决方案。微尺度气象学涉及对小范围内的大气过程进行精确模拟&#xff0c;这些过程往往与天气模式、地形影响和人为因素如城市布局紧密相关。在这种规模上&#xff0c;传统的气象模…

Camunda BPMN 基础组件

Camunda基础 一、参与者 参与者&#xff08;Participants&#xff09;是参与流程的对象&#xff0c;表示流程中活动的执行者&#xff0c;可以是一个组织、角色、系统或者个人。 图示为基础事件&#xff0c;除此之外还有&#xff1a; 消息开始事件&#xff08;Message Start…

第二百零四节 Java正则表达式教程 - Java正则表达式量词

Java正则表达式教程 - Java正则表达式量词 我们可以指定正则表达式中的字符的次数可以匹配字符序列。 为了使用正则表达式表达一个数字或更多的模式&#xff0c;我们可以使用量词。 下表列出了量词及其含义。 量词含义*零次或更多次一次或多次?一次或根本不{m}正好m次{m,}至…

数字工厂管理系统的使用操作难不难

在当今智能制造的浪潮中&#xff0c;引入数字工厂管理系统无疑为企业带来了前所未有的效率提升与决策优化能力。然而&#xff0c;谈及数字工厂管理系统的操作难易程度&#xff0c;这并非一个可以一概而论的问题&#xff0c;它深深植根于系统的复杂性、用户技能水平、培训深度以…

python之matplotlib (8 极坐标)-圆与心

极坐标 极坐标图像的绘制类似于三维图像的绘制&#xff0c;只需要将projection参数由3d改为polar即可。 import numpy as np import matplotlib.pyplot as plt figplt.figure() axfig.add_subplot(projectionpolar)theta np.linspace(0, 2 * np.pi, 100) r np.sin(the…

企业高性能web服务器之Nginx

文章目录 Apache经典的web服务端Apache prefork 模型Apache work 模型&#xff08;适应市场&#xff09;Apache event 模型 网络I/O网络I/O模型I/O模型网络I/O模型 Nginx架构和安装Nginx源码编译环境准备安装nginx Nginx的平滑升级及版本回滚 Nginx架构和进程Nginx进程结构Ngin…

MapTR的BEV结果可视化到PV图中

MapTRv2这篇工作很有意思的一点是预测可视化的时候&#xff0c;在Argoverse数据集上把BEV的预测结果投影到PV图中&#xff0c;来更直观地评估预测结果的好坏&#xff0c;如下图所示。 这部分的代码在maptrv2分支中的tools/maptrv2/av2_vis_pred.py中 def points_ego2img(pts_e…

爬取央视榜单节目

爬取结果&#xff1a; 热播榜&#xff1a; 动画片&#xff1a; 电视剧&#xff1a; 纪录片&#xff1a; 特别节目&#xff1a; 代码部分&#xff1a; import re import pymongoimport requestsres requests.get(https://tv.cctv.com/top/index.shtml?spmC28340.PdNvWY0LYxC…

5款文案生成器,高效率生成短剧解说文案

短剧解说在自媒体写作中很受大家的欢迎&#xff0c;相比其它的视频内容写作&#xff0c;短剧解说不仅写作更简单&#xff0c;而且也更容易带来好的流量&#xff0c;但是&#xff0c;对于短剧解说写作者来说&#xff0c;让人觉得麻烦的一点是短剧解说的文案问题&#xff0c;然而…

如何兼顾PACS方案性能、容量和成本?一文了解SmartX分布式存储与应用一体化平台

重点内容 PACS 应用场景及 IT 基础设施需求分析现有 PACS 应用场景方案优缺点分析SmartX 分布式存储与应用一体化平台方案与关键技术解读SmartX 针对 PACS 应用场景的解决方案针对不同规模的 PACS 资源池配置模拟 PACS&#xff08;Picture Archiving and Communication Syste…

vue3 + tsx 实现音乐播放器

1、效果图 2、文件路径 3、调用方式 audioData为音频的相关数据,lrc为歌词原文(带时间的字符串),举个例子: const lrc = ` [00:00.06]︿☆我不配☆︿ [au:]飒飒飒飒仨撒撒所所撒撒 [00:00.75] [00:01.11]演唱:周杰伦 [00:18.40]这街上太拥挤 太多人有秘密 ` 播放器调用…

[机器学习]--线性回归算法

线性回归算法原理 线性关系在生活中有很多案例: 摄氏度和华氏度的转化: F C ⋅ 9 5 32 F C \cdot\frac{9}{5}32 FC⋅59​32学科最终成绩的计算: 最终成绩 0.3 \times 平时成绩 0.7 \times 期末成绩 线性回归(Linear regression)就是利用回归函数对一个或多个自变量…

Linux系统编程:IPC通信和网络通信

1.IPC通信 IPC 进程间通信方式&#xff1a; 共享内存是最高效的进程间通信方式 共享内存: 1.是一块&#xff0c;内核预留的空间 2.最高效的通信方式&#xff0c;避免了用户空间到内核空间的数据拷贝 IPC通信方式 ---操作流程类…

BaseCTF2024 WP (主要为Rev)

Rev Rev视频解析&#xff1a;[Rev0&#xff1a;从零开始的逆向生活]BaseCTF2024 Week1 Rev 讲解_哔哩哔哩_bilibili [Week1] You are good at IDA [Week1] UPX mini 脱UPX标准壳&#xff0c;解base64 [Week1] Ez Xor 简单的反向异或&#xff0c;数据动调取一下 #base_xor e…

自开发多功能Vue组件:可定义滚动速度[回到顶部/底部]图标组件的安装与使用!

samdy-chan/vue3-goto-top-or-bottom Preview&#xff08;本组件使用效果预览图&#xff09; 本组件使用过程中的 GIF 动态效果图&#xff08;图片经过压缩&#xff0c;视觉可能会有所模糊&#xff09;&#xff1a; Functional Description&#xff08;功能描述&#xff09; …

关于LLC知识10

在LLC谐振腔中能够变化的量 1、输入电压 2、Rac&#xff08;负载&#xff09; 所以增益曲线为红色&#xff08;Rac无穷大&#xff09;已经是工作的最大极限了&#xff0c;LLC不可能工作在红色曲线之外 负载越重时&#xff0c;增益曲线越往里面 假设&#xff1a; 输入电压…

谷歌反垄断案:美国科技史上最大的垄断诉讼与未来展望

引言 近年来&#xff0c;随着全球科技巨头的迅猛崛起&#xff0c;反垄断诉讼逐渐成为各国监管机构打击科技公司滥用市场地位的重要手段。美国作为全球科技产业的发源地&#xff0c;其对反垄断的关注也从未减弱。2023年&#xff0c;美国联邦法院针对谷歌发起的反垄断诉讼&#…

《Spring Cloud 微服务架构核心组件与 Nacos 配置管理详解》

微服务 1.SpringCloud中的核心组件 Spring Cloud Netflix组件 组件名称作用Eureka服务注册中心RibbonRibbonFeign声明式服务调⽤Hystrix客户端容错保护ZuulAPI服务⽹关 Spring Cloud Alibaba组件 组件名称作用Nacos服务注册中心Sentinel客户端容错保护 Spring Cloud原⽣及…

【python】JS逆向中,手把手教会你如何层层突破瑞数加密

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…