js实现鼠标切换图片(无定时器)

JS实现鼠标切换图片(无定时器)的攻略如下:

步骤一:搭建HTML结构

首先,我们需要搭建一个HTML结构,用于展示图片和显示鼠标切换效果。具体可以参考下面的代码示例:

<div class="img-wrapper">
  <img src="https://picsum.photos/id/1/200/300" alt="image1">
  <img src="https://picsum.photos/id/2/200/300" alt="image2">
  <img src="https://picsum.photos/id/3/200/300" alt="image3">
  <img src="https://picsum.photos/id/4/200/300" alt="image4">
</div>
<div class="dots">
  <span class="dot active"></span>
  <span class="dot"></span>
  <span class="dot"></span>
  <span class="dot"></span>
</div>

其中,<div class="img-wrapper"> 是用来包含多张图片的容器,<div class="dots"> 是用来展示鼠标切换效果的点点容器,目的是让用户知道当前正在查看的是哪张图片。

步骤二:编写CSS样式

接下来,我们需要编写CSS样式,以便美化页面和实现鼠标切换效果。具体可以参考下面的代码示例:

.img-wrapper {
  position: relative;
  height: 300px;
}
.img-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.img-wrapper img.active {
  opacity: 1;
}
.dots {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.dot {
  height: 8px;
  width: 8px;
  border-radius: 50%;
  background-color: #ddd;
  margin: 0 5px;
  cursor: pointer;
}
.dot.active {
  background-color: #333;
}

其中,.img-wrapper 的布局使用了 position: relative;position: absolute; 来实现图片的重叠效果。opacity 属性用于控制图片的透明度,.img-wrapper img.active 表示当前显示的图片。.dots 使用了 display: flex;justify-content: center; 属性来让点点居中展示,.dot.active 表示当前展示的点点。

步骤三:编写JavaScript

最后,我们需要编写JavaScript代码来实现鼠标切换图片的效果。我们可以通过监听 .dot 元素的点击事件来实现,具体可以参考下面的代码示例:

const dots = document.querySelectorAll('.dot');
const images = document.querySelectorAll('.img-wrapper img');

// 监听点点的点击事件
dots.forEach((dot, index) => {
  dot.addEventListener('click', () => {
    // 移除之前的 active 类名
    dots.forEach((dot) => dot.classList.remove('active'));
    images.forEach((image) => image.classList.remove('active'));

    // 给当前点击的点点和图片添加 active 类名
    dot.classList.add('active');
    images[index].classList.add('active');
  })
})

其中,document.querySelectorAll() 方法用于获取所有的 .dot.img-wrapper img 元素,然后我们使用 .forEach() 方法遍历所有的 .dot 元素,给每个元素添加点击事件。当点击某个点点时,我们首先需要移除之前所有元素上的 active 类名,然后给当前点击的点点和对应的图片添加 active 类名。

示例说明

示例1:动态切换壁纸

示例2:切换多组图片(滑动切换)

以上就是JS实现鼠标切换图片(无定时器)的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现鼠标切换图片(无定时器) - Python技术站

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

相关文章

  • 实现高性能javascript的注意事项

    实现高性能 JavaScript 的注意事项可以分为以下几个方面: 1. 减少 DOM 操作和重绘 JavaScript 操作 DOM 是非常消耗性能的,因此尽可能地减少 DOM 操作是优化性能的关键。在进行 DOM 操作时,需要注意以下几点: 将 DOM 操作前移,尽可能的减少 DOM 操作的次数,合并多次操作,比如一次性添加多个元素。 细粒度控制 DOM…

    JavaScript 2023年5月27日
    00
  • JavaScript你不知道的一些数组方法

    下面是详细讲解“JavaScript你不知道的一些数组方法”的完整攻略。 一、前言 JavaScript 中数组是非常常用的数据结构,JS 对数组的操作也非常丰富。其中一些方法在日常的开发中比较常见,比如push、pop、shift和unshift等等,但是还有一些方法很少被知道或使用,这些方法不仅可以提高效率,还可以让代码更加优美。 本篇攻略主要介绍 Ja…

    JavaScript 2023年5月27日
    00
  • JS 日期操作代码,获取当前日期,加一天,减一天

    JS是一种强大而灵活的脚本语言,用来操作日期也很简单。下面是获取当前日期、加一天、减一天的完整攻略。 获取当前日期 获取当前日期很简单,使用JS内置对象Date即可。 var today = new Date(); console.log(today); 上述代码会输出当前日期的完整信息,包括年月日、时分秒和时区等详细信息。 输出结果示例: Tue Aug …

    JavaScript 2023年5月27日
    00
  • JavaScript中如何对多维数组(矩阵)去重的实现

    JavaScript中对多维数组(矩阵)去重的实现,可以使用Set数据结构和Array.prototype.map方法相结合实现。相比遍历数组并用indexOf方法实现数组去重,Set结构和map方法的效率更高。下面是实现的步骤: 将多维数组转换成一维数组 let arr = [ [1, 2, 3], [2, 3, 4], [3, 4, 5] ]; let …

    JavaScript 2023年5月27日
    00
  • javascript 拖动_cookie_ajax等

    JavaScript 是一门非常强大的编程语言,可以支持前端页面的实时交互。其中,拖动、cookie 和 Ajax 是 JavaScript 最为常用的功能之一。下面将详细讲解这些内容的完整攻略。 JavaScript 拖动 通过 JavaScript,可以实现网页元素的拖动效果。具体实现方式如下: 首先,通过 JavaScript 获取需要拖动的元素。 l…

    JavaScript 2023年6月10日
    00
  • javascript Demo模态窗口

    下面是关于JavaScript Demo模态窗口的完整攻略: 简介 Demo模态窗口是一种常见的Web开发技术,用于在页面中显示交互式传达信息、获取用户反馈等操作。本文将详细介绍如何使用JavaScript实现Demo模态窗口。 实现方式一:使用HTML和CSS HTML部分 首先在页面中加入一块隐藏的HTML代码块,用于存放模态窗口的结构,例如: <…

    JavaScript 2023年6月10日
    00
  • 前端使用koa实现大文件分片上传

    下面给出使用koa实现大文件分片上传的完整攻略。 什么是大文件分片上传 在前端上传大文件时,由于上传文件大小的限制和网络环境等因素,可能会出现上传失败或上传时间过长等问题。解决这些问题的方法之一就是将大文件进行分片上传,即将大文件划分成多个较小的块,分别上传到服务器上,最后再将这些块合并为原始文件。 实现分片上传的流程 分片上传一般分为以下几个步骤: 将文件…

    JavaScript 2023年6月11日
    00
  • 让插入到 innerHTML 中的 script 跑起来的实现代码

    首先需要了解一下,当通过 innerHTML 插入的 script 标签在页面渲染时会被认为是异步加载,因此可能会导致 script 中的内容没有被完全加载执行,而造成一些问题。为了解决这个问题,可以使用两种方法来让插入到 innerHTML 中的 script 能够正常执行。 方法一:使用 DOM API 动态创建 script 标签,避免使用 inner…

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