js淡入淡出焦点图幻灯片效果代码分享

请允许我详细讲解一下如何实现JavaScript淡入淡出焦点图幻灯片效果。

准备工作

首先,我们需要准备好HTML、CSS和JavaScript文件,并通过HTML文件引入JavaScript文件。此外,我们还需要在HTML中添加包含幻灯片图片的容器元素。

示例代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>JavaScript淡入淡出焦点图幻灯片</title>
    <link rel="stylesheet" href="styles.css">
  </head>
  <body>
    <div class="slider-wrapper">
      <img src="slide1.jpg" alt="Slide 1" class="slide">
      <img src="slide2.jpg" alt="Slide 2" class="slide">
      <img src="slide3.jpg" alt="Slide 3" class="slide">
    </div>
    <script src="script.js"></script>
  </body>
</html>

编写CSS样式

接下来,我们需要使用CSS来为幻灯片容器和幻灯片图片添加样式。在这个示例中,我们将容器设置为一个相对定位的元素,并将图片设置为绝对定位。我们还将隐藏除第一张图片以外的所有图片,并使用z-index属性来控制图片之间的层级关系。

示例代码:

.slider-wrapper {
  position: relative;
  width: 800px;
  height: 600px;
  overflow: hidden;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 1;
}

.slide:first-child {
  opacity: 1;
  z-index: 2;
}

编写JavaScript代码

最后,我们需要编写JavaScript代码来实现幻灯片效果。我们将使用一个自动播放、循环播放的定时器。每次定时器触发时,当前显示的图片将淡出,下一张图片将淡入。我们还将添加鼠标悬停停止播放的功能。

示例代码:

// 获取幻灯片容器元素和所有幻灯片图片元素
const sliderWrapper = document.querySelector('.slider-wrapper');
const slides = document.querySelectorAll('.slide');

// 设置图片索引变量和定时器变量
let slideIndex = 0;
let timer = null;

// 定义函数实现淡入效果
function fadeIn(element) {
  let op = 0.1;
  element.style.opacity = 0;
  element.style.display = 'block';
  function fade() {
    if (op >= 1) {
      clearInterval(fading);
    }
    element.style.opacity = op;
    op += op * 0.1;
  }
  let fading = setInterval(fade, 50);
}

// 定义函数实现淡出效果
function fadeOut(element) {
  let op = 1;
  function fade() {
    if (op <= 0.1) {
      clearInterval(fading);
      element.style.display = 'none';
    }
    element.style.opacity = op;
    op -= op * 0.1;
  }
  let fading = setInterval(fade, 50);
}

// 定义函数实现幻灯片循环播放
function playSlides() {
  // 隐藏当前显示的图片
  fadeOut(slides[slideIndex]);
  // 将图片索引加1
  slideIndex = (slideIndex + 1) % slides.length;
  // 显示下一张图片
  fadeIn(slides[slideIndex]);
}

// 开始自动播放
timer = setInterval(playSlides, 3000);

// 添加鼠标悬停停止播放功能
sliderWrapper.addEventListener('mouseover', function() {
  clearInterval(timer);
});

sliderWrapper.addEventListener('mouseout', function() {
  timer = setInterval(playSlides, 3000);
});

结束语

至此,完整的JavaScript淡入淡出焦点图幻灯片效果已经实现。我们可以根据需要更改HTML、CSS和JavaScript代码中的细节以获得更多的自定义效果,如添加幻灯片切换动画、改变播放间隔等。

示例效果1:https://codepen.io/pen/?template=GRjYKxG

示例效果2:https://codepen.io/pen/?template=wvVoKXm

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js淡入淡出焦点图幻灯片效果代码分享 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • css3 实现文字闪烁效果的三种方式示例代码

    下面就是针对“css3 实现文字闪烁效果的三种方式”的完整攻略: 一、什么是文字闪烁效果 文字闪烁效果,是一种让文字在页面中快速闪烁的特效。该特效适用于需要强调视觉效果,或用于呈现节日氛围等场合。在 CSS 中可以通过不同的属性和值进行实现。 二、实现文字闪烁效果的三种方式 方式一:使用 animation 使用 animation 可以让文字以动画的形式闪…

    css 2023年6月9日
    00
  • CSS中currentColor关键字的使用教程

    当我们在 CSS 中定义颜色值时,有时候会想要使用当前元素的文字颜色作为样式属性的值。这时候就可以使用 CSS 中的 currentColor 关键字。 使用方法 currentColor 关键字可以被用在以下样式属性中, border-color outline-color text-decoration-color color 在这些属性中使用 curr…

    css 2023年6月10日
    00
  • 清除浮动(clearfix 和 clear)的用法示例介绍

    下面我将详细讲解清除浮动(clearfix和clear)的用法示例介绍。 什么是浮动 浮动是指元素脱离正常的文档流,而被移到容器的左端或右端。浮动会影响布局,并且会导致容器的高度塌陷,常见于图片和文本的混排中。 为什么需要清除浮动 在包含浮动元素的容器中,如果没有清除浮动,容器的高度可能会变成0,从而影响布局。同时还可能影响其他元素的定位和尺寸。 clear…

    css 2023年6月10日
    00
  • 浅谈CSS 高度塌陷问题

    CSS 高度塌陷问题 在 CSS 布局中,高度塌陷(或称为“塌陷”)是一个经常遇到的问题。通常情况下,你会遇到高度塌陷问题是因为父元素的高度无法被自动计算,从而导致其中的子元素出现在预期之外的位置。本文将详细介绍什么是高度塌陷,及其如何出现和如何解决。 什么是高度塌陷? 高度塌陷指的是父元素因为包含的子元素过于膨胀导致其高度无法被自动计算。这样一来,父元素的…

    css 2023年6月10日
    00
  • Bootstrap table表格初始化表格数据的方法

    Bootstrap是一个流行的前端框架,提供了很多实用的组件,其中表格组件被广泛使用。本文将会介绍Bootstrap表格组件中初始化表格数据的方法,帮助读者快速上手。 1. 前置条件 在使用Bootstrap表格组件时,需要引入以下文件: bootstrap.css:Bootstrap的CSS文件 jquery.js:jQuery库 2. 初始化表格数据的方…

    css 2023年6月10日
    00
  • 原生js与jQuery实现简单的tab切换特效对比

    实现简单的tab切换特效是前端开发中比较基础和常见的功能之一。使用原生JS和jQuery都可以实现该功能,下面详细讲解原生JS和jQuery分别实现该功能的过程: 原生JS实现tab切换 HTML代码 先给出HTML代码,我们的tab切换控制对象为按钮(btn类名),tab内容为tc内容的div元素: <div class="tabs&quo…

    css 2023年6月10日
    00
  • css两端对齐之div+css布局实现2端对齐的4种方法总结

    对于“css两端对齐之div+css布局实现2端对齐的4种方法总结”,我来为您进行详细的讲解。 一、前言 首先需要明确的是,“两端对齐”是指左边和右边都达到同一行,且左右两端的内容分别左对齐、右对齐,并且中间的空隙等宽。 二、方法总结 以下是4种方法总结: flex布局 使用flex布局方式比较简单直观,可以通过设置父容器display属性为flex,利用j…

    css 2023年6月10日
    00
  • 详解css常用选择器

    下面是详解 CSS 常用选择器的完整攻略: 一、CSS 选择器简介 在 CSS 中,选择器用来指定我们要样式化的 HTML 元素。CSS 选择器有很多种,它们各自拥有不同的特点和用法。在本文中,我们将详解 CSS 中常用的选择器类型。 二、CSS 基本选择器 1. 元素选择器 元素选择器是指通过元素名称来选择它所作用的 HTML 元素。例如: p { col…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部