26.垂直滚动板

news2024/9/30 9:37:07

垂直滚动板

html部分

<div class="slider-container">
    <div class="left-slide">
        <div style="background-color: red;">1</div>
        <div style="background-color: aquamarine;">2</div>
        <div style="background-color: blueviolet;">3</div>
        <div style="background-color: cadetblue;">4</div>
    </div>
    <div class="right-slide">
        <div style="background-color: red;">1</div>
        <div style="background-color: aquamarine;">2</div>
        <div style="background-color: blueviolet;">3</div>
        <div style="background-color: cadetblue;">4</div>
    </div>
    <div class="button">
        <div class="left-btn btn">
            <i class="iconfont  icon-shangjiantou"></i>
        </div>
        <div class="right-btn btn">
            <i class="iconfont icon-shangjiantou-copy"></i>
        </div>
    </div>
</div>

css部分

*{
    margin: 0;
    padding: 0;
}
body{
    height: 100vh;
    overflow: hidden;
}

.slider-container{
    position: relative;
    overflow: hidden;
    height: 100%;
}
.left-slide{
    height: 100%;
    width: 35%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .5s;
}
.left-slide > div{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
}

.right-slide{
    height: 100%;
    position: absolute;
    width: 65%;
    top: 0;
    right: 0;
    transition: all .5s;
}
.right-slide > div{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.button{
    position: absolute;
    display: flex;
    top: 50%;
    left: 31.8%;
    cursor: pointer;
}

.btn{
    padding: 15px;
    background-color: #ccc;
}
.left-btn{
    transform: translateY(-50px);
    
}

js部分

// 获取dom
const left_btn=document.querySelector(".left-btn")
const right_btn=document.querySelector(".right-btn")
const left_slide=document.querySelector(".left-slide")
const right_slide=document.querySelector(".right-slide")
const len=document.querySelectorAll(".left-slide div").length-1

// 当前活动索引
let active_index=0;
// 左侧初始值
left_slide.style.top=`-${len*100}vh`

// 左侧点击事件
left_btn.addEventListener("click",function(){
    active_index++;
    if(active_index>len){
        active_index=0
    }
    handle_bg("left")
})

// 右侧点击事件
right_btn.addEventListener("click",function(){
    active_index--;
    if(active_index<0){
        active_index=len
    }
    handle_bg("right")
})

// 处理背景函数
function handle_bg(index){
    left_slide.style.top=`-${((active_index+len)%(len+1))*100}vh`
    right_slide.style.top=`-${((len-active_index+1)%(len+1))*100}vh`
}

效果

在这里插入图片描述

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

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

相关文章

京东技术专家首推:Spring 微服务架构设计,GitHub 星标 128K

前言 本书提供了实现大型响应式微服务的实用方法和指导原则&#xff0c;并通过示例全面 讲解如何构建微服务。本书深入介绍了 Spring Boot、Spring Cloud、 Docker、Mesos 和 Marathon&#xff0c;还会教授如何用 Spring Boot 部署自治服务&#xff0c;而 无须使用重量级应用服…

8款常用系统镜像烧录软件

系统烧录软件是一种用于将操作系统或其他软件程序安装到嵌入式系统、嵌入式设备或存储设备中的工具。它通常用于将预先编译好的二进制文件或源代码烧录到硬件设备的非易失性存储器中&#xff0c;例如闪存芯片、EEPROM、EPROM或其他存储介质。系统烧录软件提供了一个便捷的方式&…

基于Java+SpringBoot+vue前后端分离海滨体育馆管理系统设计实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

selenium的三种等待方式(强制等待,隐式等待,显示等待)

目录 1.强制等待&#xff08;无条件等待&#xff09; 2.隐式等待 3.显示等待 有时候做自动化测试&#xff0c;需要进行等待&#xff0c;因为下一步的操作依赖于上一步的结果&#xff0c;但是程序执行的很快&#xff0c;有时候页面还未加载完成就进行了下一步的操作&#xff…

【数据挖掘】使用 LSTM 进行时间和序列预测

一、说明 每天&#xff0c;人类在执行诸如过马路之类的任务时都会做出被动预测&#xff0c;他们估计汽车的速度和与汽车的距离&#xff0c;或者通过猜测球的速度并相应地定位手来接球。这些技能是通过经验和实践获得的。然而&#xff0c;由于涉及众多变量&#xff0c;预测天气或…

网络安全 Day19-计算机网络基础知识04(网络协议)

计算机网络基础知识04&#xff08;网络协议&#xff09; 1. ARP1.1 ARP通讯原理1.2 arp欺骗1.3 ARP欺骗与预防1.4 排查ARP病毒 2. DHCP工作原理&#xff08;自动分配内网IP&#xff09;3. TCP协议三次握手、四次挥手原理4. DNS协议工作原理 1. ARP Linux查看arp&#xff1a;ar…

12.Netty源码之整体架构脉络

Netty 整体架构脉络 Netty 的逻辑处理架构为典型网络分层架构设计&#xff0c;共分为网络通信层、事件调度层、服务编排层&#xff0c;每一层各司其职。 网络通信层 网络通信层的职责是执行网络 I/O 的操作。它支持多种网络协议和 I/O 模型的连接操作。当网络数据读取到内核缓冲…

一分钟叫你怎样AI绘画 Vega Ai

先看效果图&#xff1a; 是不是也想自己去创造这样的图片呢&#xff0c;注意已经不需要自己画了&#xff01;&#xff01; Vega AI 简介 Vega AI是一款能够 文字生成图片、根据图片文字进行生成图片、条件生成图片 、根据多张图片训练出自己的风格&#xff0c;在风格广场选择…

使用 OpenCV 和 GrabCut 算法进行交互式背景去除

一、说明 我想&#xff0c;任何人都可以尝试从图像中删除背景。当然&#xff0c;有大量可用的软件或工具能够做到这一点&#xff0c;但其中一些可能很昂贵。但是&#xff0c;我知道有人使用窗口绘画3D魔术选择或PowerPoint背景去除来删除背景。 如果您是计算机视觉领域的初学者…

Linux系统知识1—Linux命令基础格式,什么是命令,命令行,ls命令入门,ls命令的参数和选项,-a,-l -h选项的使用及组合使用

一.什么是命令&#xff0c;命令行 &#xff0e;命令行&#xff1a;即 Linux 终端&#xff08; Terminal )&#xff0c;是一种命令提示符页面。以纯"字符"的形式操作系统&#xff0c;可以使用各种字符化命令对系统发出操作指令。 &#xff0e;命令&#xff1a;即 Lin…

【LangChain】检索器之上下文压缩

LangChain学习文档 【LangChain】检索器(Retrievers)【LangChain】检索器之MultiQueryRetriever【LangChain】检索器之上下文压缩 上下文压缩 LangChain学习文档 概要内容使用普通向量存储检索器使用 LLMChainExtractor 添加上下文压缩(Adding contextual compression with an…

数据结构基本概念及算法分析

文章目录 1. 数据结构基本概念1.1 基本概念和术语1.1.1 数据1.1.2 数据元素1.1.3 数据项1.1.4 数据对象1.1.5 数据结构 1.2 逻辑结构与物理结构1.2.1 逻辑结构(我们最需要关注的问题)1.2.2 物理机构 1.3 数据类型1.3.1 数据类型定义1.3.2 抽象数据类型 2. 算法分析2.1 算法的复…

【Python机器学习】实验02 线性回归

文章目录 线性回归1. 单变量的线性回归1.1 数据读取1.2 训练数据的准备1.3 假设函数定义--假设函数是为了去预测1.4 损失函数的定义1.5 利用梯度下降算法来优化参数w1.6 可视化误差曲线1.7 可视化回归线/回归平面 1.2 单变量的线性回归--基于sklearn试试&#xff1f;1.3 多变量…

object tracking论文代码汇总

文章目录 2023Segment and Track AnythingTrack Anything: Segment Anything Meets VideosSAM-DA: UAV Tracks Anything at Night with SAM-Powered Domain Adaptation 2023 Segment and Track Anything code&#xff1a;https://github.com/z-x-yang/Segment-and-Track-Anyt…

响应式赋值Object.assign()和JSON.parse(JSON.stringify())的区别

一、需求&#xff1a;点击编辑弹出编辑框&#xff0c;修改后的内容点击认按钮修改后的数据更新回显到原列表。今天优化代码的时候发现了Object.assign()和JSON.parse(JSON.stringify())的区别。 优化前代码如下&#xff1a; // 编辑药品回显editMedicData(data) {this.table…

会员系统怎么搭建,适合门店的会员系统有哪些?

会员系统是一种为企业和门店提供会员管理和服务的工具。会员系统可以通过提供专属优惠、积分奖励、个性化推荐等方式&#xff0c;激励顾客成为会员并保持长期关系。 我们在自己搭建或选择会员系统时&#xff0c;需要考虑门店的特定需求以及系统的功能、可靠性、易用性和成本等因…

github前端开源json2html

软件介绍 前端低代码工具包&#xff0c;通过 JSON 配置就能生成各种页面。 应用场景 json解析超大数据动态渲染&#xff0c;渲染速度、性能解决问题 包引用列表 vue3 (cdn模式开发)element plusnodehttp-serveraxios 操作步骤 1.环境准备下载node&#xff1a;https://no…

长tree用buffer还是inverter?驱动强度如何选型?

相关文章链接: 静态时序分析: 最小脉冲宽度检查 redhawk:clock buffer cluster 面试中关于CTS buf/inv选型的问题经久不衰,依托经验,不看纸面信息,inverter和buffer各有优劣,同驱动buffer实际推力更强,意味着只用buffer,clock repeater数量更少,inverter必须成对的…

从零开始搭建医药领域知识图谱实现智能问答与分析服务(含码源):含Neo4j基于垂直网站数据的医药知识图谱构建、医药知识图谱的自动问答等

项目设计集合&#xff08;人工智能方向&#xff09;&#xff1a;助力新人快速实战掌握技能、自主完成项目设计升级&#xff0c;提升自身的硬实力&#xff08;不仅限NLP、知识图谱、计算机视觉等领域&#xff09;&#xff1a;汇总有意义的项目设计集合&#xff0c;助力新人快速实…

抖音seo矩阵系统源码保姆式开发部署指导

抖音seo霸屏&#xff0c;是一种专为抖音视频创作者和传播者打造的视频批量剪辑&#xff0c;批量分发产品。使用抖音seo霸屏软件&#xff0c;可以帮助用户快速高效的制作出高质量的优质视频。 使用方法&#xff1a;1. 了解用户的行为习惯 2. 充分利用自身资源进行开发 3. 不…