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日

相关文章

  • JS函数本身的作用域实例分析

    JS函数本身的作用域实例分析 在JS中,函数拥有自身的作用域,也可以使用父级作用域中的变量。函数本身的作用域指的是在其内部可以访问的变量和函数。本文将详细讲解JS函数本身的作用域,以及两个具体的实例分析。 1. 函数内部作用域 函数内部可以访问的变量有两种,分别是自有变量和父级变量。 1.1 自有变量 自有变量指的是函数内部定义的变量,只能在函数内部访问。例…

    JavaScript 2023年6月10日
    00
  • 记录 Promise 的方法

    Promise 是异步编程的一种解决方案,比传统的回调函数或事件更合理和更灵活。 Promise 方法 Promise的原型方法:then/catch/finally,这三种方法很常用,then用于处理Promise转为fulfilled状态时的代码,catch用于处理Promise转为rejected状态时的代码(当然then的第二个参数也可处理rejec…

    JavaScript 2023年4月17日
    00
  • html的DOM中document对象images集合用法实例

    下面是关于“HTML的DOM中document对象images集合用法实例”的完整攻略: 什么是DOM中的document对象images集合 在HTML的DOM中,每个图片元素都被定义为标签。而通过document对象的images集合,我们可以获取到文档中的所有图片元素,并对其进行一系列的操作,比如更改图片路径、设置图片样式等等。 document对象i…

    JavaScript 2023年6月10日
    00
  • js实现字符全排列算法的简单方法

    下面是js实现字符全排列算法的简单方法的攻略: 1. 了解全排列算法的原理 全排列算法主要是针对给定的字符串,对其中的每个字符进行交换得到不同的排列。这个算法的主要思路是不断地交换当前字符串中的两个字符,直到交换到字符串的最后一个字符,然后将这一个排列输出,并将字符串还原到初始状态,进行下一次交换操作。 2. 实现全排列算法的代码 下面给出一种简单的实现全排…

    JavaScript 2023年5月28日
    00
  • Javascript基础回顾之(一) 类型

    Javascript基础回顾之(一) 类型 在 Javascript 中,数据类型是对值的分类。值可以是基本类型或对象类型。本文将重点回顾以下六种基本类型: Undefined Null Boolean Number String Symbol Undefined 当声明一个变量但不对它进行初始化时,它的值就为 undefined。例如: let a; co…

    JavaScript 2023年5月18日
    00
  • JS array 数组详解

    JS Array 数组详解 在JavaScript中,Array(数组)是一个十分重要的数据类型之一。本篇攻略将深入讲解JS数组的定义、用法、属性、方法等知识点,帮助读者全面理解和掌握JS数组的使用。 数组的定义 JS数组是一个用来存储一组数据的有序集合,可以存储不同数据类型和数据结构(如数字、字符串、对象、函数等)的值。可以使用数组字面量([])或Arra…

    JavaScript 2023年5月27日
    00
  • 使用Vuex解决Vue中的身份验证问题

    使用Vuex解决Vue中的身份验证问题需要以下步骤: 1. 创建Vuex Store 定义一个Vuex store,该store中包含用户相关的数据,如用户是否已登录、用户名等。其中,用户是否已登录是用来判断用户登录状态的重要标志。 import Vue from `vue` import Vuex from `vuex` Vue.use(Vuex) con…

    JavaScript 2023年6月11日
    00
  • javascript对HTML字符转义与反转义

    下面是关于JavaScript对HTML字符转义与反转义的完整攻略。 什么是HTML字符转义与反转义? HTML字符转义指的是将HTML代码中的特殊字符转换成它们对应的实体编码,这是为了避免这些字符被解析成HTML代码而产生错误。例如,把小于号 < 转换成 &lt;。 HTML字符反转义指的是将实体编码转换回原始的字符,以便正确地显示内容。 J…

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