当前位置: 首页 > news >正文

18.背景轮播

背景轮播

html部分

<div class="container"><div class="slide active" style="background-image: url(./static/20180529205331_yhGyf.jpeg);"></div><div class="slide "  style="background-image: url(./static/20190214214253_hsjqw.webp);" ></div><div class="slide " style="background-image: url(./static/20190908084721_rjhtr.png);"></div><div class="slide " style="background-image: url(./static/20200205192210_tKHiT.jpeg);"></div><div class="slide " style="background-image: url(./static/20210210111704_cd68b.jpg);"></div><div class="left-btn"><i class="iconfont icon-up"></i></div><div class="right-btn"><i class="iconfont icon-arrdown"></i></div>
</div>

css部分

* {margin: 0;padding: 0;
}body {display: flex;flex-direction: column;align-items: center;justify-content: center;height: 100vh;overflow: hidden;position: relative;transition: all .4s;background-position: center;background-repeat: no-repeat;background-size: cover;
}body::after {content: "";position: absolute;inset: 0;background-color: rgba(0, 0, 0, 0.7);z-index: -1;
}.container {box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16),0 3px 6px rgba(0, 0, 0, 0.23);height: 70vh;width: 50vw;position: relative;overflow: hidden;z-index: 999;}.slide{position: absolute;opacity: 0;height: 70vh;width: 70vw;background-position: center;background-repeat: no-repeat;background-size: cover;transition: all .4s;
}
.slide.active{opacity: 1;z-index: 999;
}.left-btn{position: fixed;top: 50%;left: 21%;border: 2px solid white;padding: 10px;z-index: -1;cursor: pointer;
}
.right-btn{position: fixed;top: 50%;right: 21%;border: 2px solid white;padding: 10px;z-index: -1;cursor: pointer;
}.iconfont{color: white;font-size: 42px !important;
}

js部分

// 获取dom
const body=document.querySelector("body");
const slides=document.querySelectorAll(".slide");
const left_btn=document.querySelector(".left-btn");
const right_btn=document.querySelector(".right-btn");// 初始值背景
let activeSlide=0;
set_bg()// 右侧循环
right_btn.addEventListener("click",()=>{activeSlide++if(activeSlide>slides.length-1){activeSlide=0}set_bg()
})// 左侧循环
left_btn.addEventListener("click",()=>{activeSlide--if(activeSlide<0){activeSlide=slides.length-1}set_bg()
})// 设置内外背景
function set_bg(){body.style.backgroundImage=slides[activeSlide].style.backgroundImageslides.forEach((item)=>{item.classList.remove("active")})slides[activeSlide].classList.add("active")
}

效果

在这里插入图片描述

http://www.lryc.cn/news/97130.html

相关文章:

  • 论文代码学习—HiFi-GAN(2)——鉴别器discriminator代码
  • Linux Shell 脚本编程学习之【第3章 正则表达式 (第二部分) grep命令】
  • 大语言模型LLM
  • 自学网络安全(黑客)的误区
  • @Conditional
  • 【Linux】网络基础之TCP协议
  • Java设计模式之装饰器(Decorator)模式
  • element ui树组件render-content 树节点的内容区的渲染另一种方式
  • html a标签换行显示
  • 关于Redis-存Long取Integer类型转换错误的问题
  • 设计模式一:简单工厂模式(Simple Factory Pattern)
  • 如何利用plotly和geopandas根据美国邮政编码(Zip-Code)绘制美国地图
  • ceph集群搭建
  • 前端密码加密 —— bcrypt、MD5、SHA-256、盐
  • 汽车UDS诊断深度学习专栏
  • macOS 下安装brew、nvm
  • 【云原生】Kubernetes工作负载-StatefulSet
  • Java:方法的重载
  • 7.react useCallback与useMemo函数使用与常见问题
  • Sentinel限流中间件
  • 使用ajax进行前后端交互的方法
  • 动手学深度学习——线性回归从零开始
  • Redis缓存击穿
  • 网络安全(黑客)自学的一些建议
  • 全志F1C200S嵌入式驱动开发(基于usb otg的spi-nor镜像烧入)
  • 如何恢复损坏/删除的 Word 文件
  • 【论文阅读】Feature Inference Attack on Shapley Values
  • TDesign 中后台系统搭建
  • Android 实现阅读用户协议的文字控件效果
  • 19.主题时钟