沃梦达 / IT编程 / 前端开发 / 正文

JS+CSS实现感应鼠标渐变显示DIV层的方法

下面是JS+CSS实现感应鼠标渐变显示DIV层的方法的完整攻略。

下面是JS+CSS实现感应鼠标渐变显示DIV层的方法的完整攻略。

方案说明

该方案是通过鼠标hover事件触发,实现鼠标滑过一个元素时另一个元素的渐变显示效果,需要借助JS和CSS两种技术,并且兼容主流浏览器的PC端和移动端。具体实现过程如下:

  1. 在HTML中编写两个DIV层,一个DIV层作为触发元素,另一个DIV层作为目标元素;
  2. 在CSS中为两个DIV层分别设置position属性;
  3. 在JS中通过元素选择器获取触发元素和目标元素,同时添加鼠标hover事件;
  4. 在鼠标hover事件中为目标元素添加fade-in动画效果,并改变目标元素的透明度;
  5. 为目标元素添加fade-out动画效果,恢复目标元素的透明度。

实现示例

以下示例分别演示了鼠标hover事件触发,渐变显示目标元素的效果。根据自己的需要,可以在实际应用中灵活调整元素的大小、位置、动画效果等。

示例1

HTML代码:

<div class="hover-item"></div>
<div class="target-item"></div>

CSS代码:

.hover-item {
  position: absolute;
  width: 300px;
  height: 200px;
  background-color: #ccc;
}

.target-item {
  position: absolute;
  top: 100px;
  left: 400px;
  width: 300px;
  height: 200px;
  background-color: #f00;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.target-item.fade-in {
  opacity: 1;
}

JS代码:

const hoverItem = document.querySelector(".hover-item");
const targetItem = document.querySelector(".target-item");

hoverItem.addEventListener("mouseenter", function() {
  targetItem.classList.add("fade-in");
});

hoverItem.addEventListener("mouseleave", function() {
  targetItem.classList.remove("fade-in");
});

示例2

HTML代码:

<div class="hover-item2"></div>
<div class="target-item2"></div>

CSS代码:

.hover-item2 {
  position: absolute;
  top: 400px;
  left: 100px;
  width: 150px;
  height: 150px;
  background-color: #666;
  border-radius: 50%;
}

.target-item2 {
  position: absolute;
  top: 400px;
  left: 400px;
  width: 150px;
  height: 150px;
  background-color: #f90;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.target-item2.fade-in {
  opacity: 1;
}

JS代码:

const hoverItem2 = document.querySelector(".hover-item2");
const targetItem2 = document.querySelector(".target-item2");

hoverItem2.addEventListener("mouseenter", function() {
  targetItem2.classList.add("fade-in");
});

hoverItem2.addEventListener("mouseleave", function() {
  targetItem2.classList.remove("fade-in");
});

以上就是JS+CSS实现感应鼠标渐变显示DIV层的方法的完整攻略和两个示例。

本文标题为:JS+CSS实现感应鼠标渐变显示DIV层的方法