前端js--旋转幻灯片

news2024/11/27 22:20:14

效果图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="style.css" />
    <title>旋转幻灯片</title>
  </head>
  <body>
    <div class="slider">
      <div class="slide visible">
        <img src="img/img1.jpeg" alt="" />
      </div>
      <div class="slide">
        <img src="img/img2.jpeg" alt="" />
      </div>
      <div class="slide">
        <img src="img/img3.jpeg" alt="" />
      </div>
      <div class="slide">
        <img src="img/img4.jpeg" alt="" />
      </div>
      <div class="slide">
        <img src="img/img5.jpeg" alt="" />
      </div>
    </div>

    <script>
      const slider = document.querySelector(".slider");
      const slides = document.querySelectorAll(".slide");
      let activeSlide = 0;

      function changeSlide() {
        slides[activeSlide].classList.remove("visible");
        activeSlide++;
        if (activeSlide >= slides.length) {
          activeSlide = 0;
        }
        slides[activeSlide].classList.add("visible");
      }

      slider.addEventListener("animationstart", () => {
        setInterval(changeSlide, 2000);
      });
    </script>
  </body>
</html>
* {
  box-sizing: border-box;
}

body {
  background-color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin: 0;
  perspective: 1000px;
}

.slider {
  position: relative;
  height: 500px;
  width: 500px;
  transform-style: preserve-3d;
  animation: rotate 4s linear infinite;
}

.slide {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide.visible {
  opacity: 1;
}

@keyframes rotate {
  0% {
    transform: rotateY(90deg);
  }

  50% {
    transform: rotateY(270deg);
  }

  100% {
    transform: rotateY(450deg);
  }
}

@media (max-width: 500px) {
  .slider {
    width: 280px;
    height: 280px;
  }
}

配图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

python打印oracle19c版本号

Author: liukai 2810248865qq.com Date: 2022-08-18 04:28:52 LastEditors: tkhywang 2810248865qq.com LastEditTime: 2023-07-08 08:58:24 FilePath: \PythonProject01\&#xfffd;&#xfffd;ӡoracle&#xfffd;&#xfffd;&#xfffd;ݿ&#xfffd;汾&#xfffd;&a…

《孙子兵法》是世界上最著名的中国著作,不服来看,趣讲《孙子兵法》第1讲

《孙子兵法》是世界上最著名的中国著作&#xff0c;不服来看&#xff01;趣讲《孙子兵法》【第1讲】 世界上最有名的中国著作肯定是《孙子兵法》。在著名的美国西点军校是必修课。 在企业管理领域&#xff0c;听一些讲座&#xff0c;经常会引用到《孙子兵法》的一些名句&#…

手把手教你用idea实现Java连接MySQL数据库

目录 1.下载MySQL 2.下载mysql 的jdbc驱动 3.将驱动jar包导入idea 4.通过Java测试数据库是否连接成功 1.下载MySQL 首先如果没有mysql的需要先下载MySQL&#xff0c;可以看这个教程 MYSQL安装手把手&#xff08;亲测好用&#xff09;_程序小象的博客-CSDN博客 2.下载mysql…

IDEA Run SpringBoot程序步骤原理

这个文章不是高深的原理文章&#xff0c;仅仅是接手一个外部提供的阉割版代码遇到过的一个坑&#xff0c;后来解决了&#xff0c;记录一下。 1、IDEA Run 一个SpringBoot一直失败&#xff0c;提示找不到类&#xff0c;但是maven install成功&#xff0c;并且java -jar能成功ru…

红帽8.2版本CSA题库:第三题调试 SELinux

semanage port -a -t http_port_t -p tcp 82 semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1 //必须先做这步再做restorecon restorecon -Rv /var/www/html firewall-cmd --permanent --add-port82/tcp firewall-cmd --reload systemctl enable --now htt…

Fiddler无法抓包怎么解决?这些配置项你需要检查。尤其是最后一项。

有时候&#xff0c;我们的fiddler启动是正常的&#xff0c;但是就是抓不到包&#xff0c;原因有很多。但多数情况都是因为配置不正确&#xff0c;接下来我们就看下有哪些导致fiddler抓不到的设置 。 1 是否配置代理服务器 一般情况下此设置会自动配置&#xff0c;但是如果抓不…

C++拷贝wstring到wchar_t*中踩的坑

使用wchar_t指针将wstring中的数据拿出来&#xff0c;发现释放的时候异常&#xff0c;不是深拷贝和浅拷贝的问题 首先先看看string怎末复制到char中&#xff0c;代码如下 string str1"\"0.2.0\"";char* tnew char[str.size()1];memcpy(t, str1.c_str(), s…

BigDecimal 金额判断大于0、等于0、小于0 方法

方法的使用: BigDecimal.compareTo(BigDecimal.ZERO) public static void main(String[] args) {BigDecimal b1 new BigDecimal(0.01);System.out.println(b1.compareTo(BigDecimal.ZERO)); // 输出 1BigDecimal b2 new BigDecimal(0.00);System.out.println(b2.compareTo(B…

《golang设计模式》第一部分·创建型模式-04-工厂方法模式(Factory Method)

文章目录 1 概述2.1 角色2.2 类图 2 代码示例2. 1 设计2.2 代码2.3 类图 3. 简单工厂3.1 角色3.2 类图3.3 代码示例3.3.1 设计3.3.2 代码3.3.3 类图 1 概述 工厂方法类定义产品对象创建接口&#xff0c;但由子类实现具体产品对象的创建。 2.1 角色 Product&#xff08;抽象产…

Java wait() notify() join()用法讲解

一、wait() 1. 源码&#xff1a; 实际调用本地方法 2. 作用 释放当前锁&#xff0c;并让当前线程进入等待状态&#xff1b;timeoutMillis为等待时间&#xff0c;单位毫秒&#xff0c;如果为0则表示无限等待下去&#xff1b;该方法使用前提是&#xff1a;当前执行线程必须持…

【开源三方库】Aki:一行代码极简体验JSC++跨语言交互

开源项目 OpenHarmony 是每个人的 OpenHarmony 一、简介 OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;的前端开发语言是ArkTS&#xff0c;在TypeScript&#xff08;简称TS&#xff09;生态基础上做了进一步扩展&#xff0c;继承了TS的所有特性&#x…

linux服务器之-nethogs命令

文章目录 NetHogs 工具安装安装依赖包安装epel源安装Nethogs 使用 NetHogs 工具 NetHogs是一个小型的net top工具&#xff0c;不像大多数工具那样拖慢每个协议或者是每个子网的速度而是依照进程进行带宽分组。 安装 安装依赖包 yum install libpcap libpcap-devel epel-rel…

C++QT教程1——QT概述(下载与安装)

文章目录 1 Qt概述1.1 什么是Qt1.2 Qt的发展史1.3 Qt版本1.4 Qt的下载与安装下载地址&#xff1a;其实我是有点懵逼的&#xff0c;因为还有个qtcreator&#xff0c;我差点不知道下哪个。。。&#xff08;qt框架比qtcreator功能更多更强大&#xff09; 安装 1.5 Qt的优点1.6 QT成…

attention简单总结(初版)

引言 本文将总结归纳个人搜集关于注意力机制的一些简单通俗理解&#xff0c;在失业期间作为个人充电的起始&#xff0c;本文不包含众多注意力机制以及其组合的变体&#xff0c;只为方便理解后续的一些算法做铺垫。 本文首先介绍注意力机制的通俗理解和背景然后介绍目前注意力机…

06 为什么需要多线程;多线程的优缺点;程序 进程 线程之间的关系;进程和线程之间的区别

为什么需要多线程 CPU、内存、IO之间的性能差异巨大多核心CPU的发展线程的本质是增加一个可以执行代码工人 多线程的优点 多个执行流&#xff0c;并行执行。&#xff08;多个工人&#xff0c;干不一样的活&#xff09; 多线程的缺点 上下文切换慢&#xff0c;切换上下文典型值…

SpringSecurity5.7+最新案例 -- 授权 --

一、前提 书接上回 SpringSecurity5.7最新案例 – 用户名密码验证码记住我 本文 继续处理SpringSecurity授权 … 目前由 难 -> 简&#xff0c;即自定义数据库授权&#xff0c;注解授权&#xff0c;config配置授权 二、自定义授权 0. 数据准备 SET NAMES utf8mb4; SET …

FFmpeg将编码后数据保存成mp4

以下测试代码实现的功能是&#xff1a;持续从内存块中获取原始数据&#xff0c;然后依次进行解码、编码、最后保存成mp4视频文件。 可保存成单个视频文件&#xff0c;也可指定每个视频文件的总帧数&#xff0c;保存多个视频文件。 为了便于查看和修改&#xff0c;这里将可独立的…

Redis追本溯源(四)集群:主从模式、哨兵模式、cluster模式

文章目录 一、主从模式1.主从复制——全量复制2.主从复制——增量复制 二、哨兵模式1.实时监控与故障转移2.Sentinel选举领导者 三、cluster模式1.三种分片方案2.cluster模式 Redis 有多种集群搭建方式&#xff0c;比如&#xff0c;主从模式、哨兵模式、Cluster 模式。 一、主…

一些不错的VSCode设置和插件

设置 同步设置 我们做的各项设置&#xff0c;不希望再到其他机器的时候还得再重新配置一次。VSCode中我们可以登陆微软账号或者GitHub账号&#xff0c;登陆后我们可以开启同步设置。开启设置同步&#xff0c;根据提示登陆即可。 允许侧边栏水平滑动 在目录层次较深或者文件…

Leetcode-每日一题【剑指 Offer 07. 重建二叉树】

题目 输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder [3,9,20,15,7], inorder [9,3,15,20,7]Output: [3,9,20,null,null,15,7] 示例 2: Input: preo…