我有一个要求,但我真的不知道如何实现它.要求如下:

当鼠标移动到红色块时,蓝色div可以打开,但当鼠标在蓝色div内操作时,块不能关闭,但只要鼠标离开蓝色块,蓝色div就会消失,

我真的不知道怎么实施,我希望能得到你们的帮助,谢谢.

let hover = document.querySelector('.hover');
let wrap = document.querySelector('.wrap');
let hover1 = hover.offsetLeft;
let hover2 = hover.offsetTop;
let hover3 = hover.offsetLeft;
let hover4 = hover.offsetWidth;

document.addEventListener('mousemove', function(e) {
  //....
});
body {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.demo {
  position: relative;
}

.hover {
  font-size: 30px;
  font-weight: 900;
  color: blue;
  border: 2px solid #222;
  color: #fff;
  cursor: pointer;
  background-color: red;
}

.wrap {
  position: absolute;
  top: 80px;
  width: 120px;
  padding: 10px;
  background-color: blue;
  color: #fff;
  border: 2px solid #222;
  display: none;
}
<div class="demo">
  <p class="hover">hover goin</p>

  <div class="wrap">
    <h2>title</h2>
    <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Quo modi quasi </p>
  </div>
</div>

推荐答案

假设我已经理解了您的目标,您不需要为此使用js/jQuery.只使用css和:hover Select 器就可以做到这一点.

在红色和蓝色div元素的父元素(本例中为.demo,但您可以根据生产版本的要求进行更改)上放置一个:hover Select 器,然后在该 Select 器中将蓝色div设置为display: block,如下所示:

body {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.demo {
  position: relative;
}

.hover {
  font-size: 30px;
  font-weight: 900;
  color: blue;
  border: 2px solid #222;
  color: #fff;
  cursor: pointer;
  background-color: red;
}

.wrap {
  position: absolute;
  top: 80px;
  width: 120px;
  padding: 10px;
  background-color: blue;
  color: #fff;
  border: 2px solid #222;
  display: none;
}

.demo:hover .wrap {
  display: block;
}
<div class="demo">
  <p class="hover">hover goin</p>
  <div class="wrap">
    <h2>title</h2>
    <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Quo modi quasi </p>
  </div>
</div>

Javascript相关问答推荐

如何在Jest中调用setupFile下列出的文件所需的函数?

未使用Outlet渲染子组件

使用事件监听器在JavaScript中重新分配全局变量

我想做一个程序,计算字符串中所有单词的数量

React状态变量在使用++前置更新时引发错误

如何在不分配整个数组的情况下修改包含数组的行为主体?

colored颜色 检测JS,平均图像 colored颜色 检测JS

当试图显示小部件时,使用者会出现JavaScript错误.

屏幕右侧屏障上的产卵点""

使用领域Web SDK的Vite+Vue应用程序中的Web程序集(WASM)错误

对网格项目进行垂直排序不起作用

如何将innerHTML字符串修剪为其中的特定元素?

本地库中的chartjs-4.4.2和chartjs-plugin-注解

确保函数签名中的类型安全:匹配值

如何在Angular拖放组件中同步数组?

MarkLogic-earch.suggest不返回任何值

在JS中动态创建对象,并将其追加到HTML表中

如何在Java脚本中对列表中的特定元素进行排序?

警告框不显示包含HTML输入字段的总和

在Java脚本中录制视频后看不到曲目