完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/jquery.min.js"></script>
<style>
.smallbox{
width:20px;
height:20px;
text-align: center;
background:#333;
/* position:absolute; */
/* left:25px; */
/* top:25px; */
margin:5px;
display: none;
}
.bigbox{
width:150px;
height:150px;
background:#000000;
margin: 10px;
opacity: .1;
}
.pop{
width: 150px;
height: 150px;
background: red;
position: absolute;
right: 0px;
top: 0px;
display: none;
}
.active{
display: block;
}
.smallbox span{
display: block;
width: 100%;
height: 100%;
cursor: pointer;
}
</style>
</head>
<body>
<div class="pop"></div>
<div class="bigbox" key='A'></div>
<div class="bigbox" key='B'></div>
<div class="bigbox" key='C'></div>
<div class="smallbox" key="1" style="position: absolute;left: 25px; top: 25px;"><span></span></div>
<div class="smallbox" key="2" style="position: absolute;left: 50px; top: 40px;"><span></span></div>
<div class="smallbox" key="3" style="position: absolute;left: 80px; top: 220px;"><span></span></div>
<div class="smallbox" key="4" style="position: absolute;left: 120px; top: 180px;"><span></span></div>
<div class="smallbox" key="5" style="position: absolute;left: 80px; top: 80px;"><span></span></div>
<div class="smallbox" key="6" style="position: absolute;left: 120px; top: 350px;"><span></span></div>
<div class="smallbox" key="7" style="position: absolute;left: 80px; top: 370px;"><span></span></div> <script>
    $(document).ready(             function(){
const arceObj={A:['5','1','2'],B:['3','4'],C:['6','7']}
let arceDom={}
// 当前所在热区
let arceKey=''
                $(".bigbox").mouseover(
                        function(e){
// 判断是哪个热区
arceKey=$(e.target).attr('key')
arceDom=e.target
const arr =$('.smallbox')
//console.log(arr)
// 遍历这个数组 找出该热区下应该显示的小热区
arr.each(function(item){
const key=$(arr[item]).attr('key')
//console.log(key);
// 找到之后将这些smallbox元素显示
if($.inArray(key,arceObj[arceKey]) !=-1){//判断arceObj数组里是否存在key
$(arr[item]).show()
}
});
$(this).css("opacity","1")
                        }
                ); $(".smallbox").mouseover(
                        function(e){
$(arceDom).css("opacity","1")
// const arce=$(e.target).attr('key')
// console.log(arce)
// 当前元素的所有兄弟元素 可修改样式
// $(e.target).siblings()
const arr =$('.smallbox')
// 遍历这个数组 找出该热区下应该显示的小热区
arr.each(function(item){
const key=$(arr[item]).attr('key')
// 找到之后将这些smallbox元素显示
if(arceObj[arceKey].indexOf(key)!=-1){
$(arr[item]).show()
}
});
                        }
                );

             /*
// 反向找到当前小热区所在的大热区 key为小热区的key
function getArcekey(key){
                        for(var akey in arceObj){
                          for(var i=0;i<arceObj[akey].length;i++){
                            // 如果找到相同的key返回大热区的key
                            if(arceObj[akey][i]==key){
                              return akey
                            }
                          }
                        }
                      }
            */                 $(".bigbox").mouseout(
                        function(e){
                            $(".smallbox").hide();
$(this).css("opacity",".1")
                        }
                ); $(".smallbox span").hover(function(){
$(".pop").addClass("active") },function(){
$(".pop").removeClass("active")
});             }
    ); </script>
</body>
</html>

效果图:

解决同层hover事件重叠闪烁问题的更多相关文章

  1. 使用jQuery的hover事件在IE中不停闪动的解决方法

    在使用jQuery的hover事件时,经常会因为鼠标滑动过快导致菜单不停闪动的情况,相信很多朋友都遇到过自己做的纵向下拉菜单不停的收缩,非常的讨厌.今天在给一个网站设计菜单时也遇到了这个情况,结果在百 ...

  2. js中hover事件时候的BUG以及解决方法

    hover事件是我们在开发前段时候遇到的稀松平常的问题,但是有没有发现会出现有一个BUg,比如,你移动到一个元素上,让它执行一个方法,然后你快速的移入移出的时候,他会进行亮瞎你眼睛的频闪效果,而且跟得 ...

  3. jQuery中多个元素的Hover事件

    1.需求简介 jQuery的hover事件只是针对单个HTML元素,例如: $('#login').hover(fun2, fun2); 当鼠标进入#login元素时调用fun1函数,离开时则调用fu ...

  4. 用:hover伪类代替js的hover事件

    制作二级菜单要实现鼠标移动上去显示子菜单,鼠标移出子菜单隐藏,或者其他类似需求的地方,首先我会想到用jquery的hover事件来实现,如: $(".nav").hover(fun ...

  5. jQuery – 鼠标经过(hover)事件的延时处理

    一.关于鼠标hover事件及延时 鼠标经过事件为web页面上非常常见的事件之一.简单的hover可以用CSS :hover伪类实现,复杂点的用js. 一般情况下,我们是不对鼠标hover事件进行延时处 ...

  6. jquery hover事件只触发一次动画

    最近工作时遇到个关于动画的问题,如下: $("div").hover( function() { $(this).animate({"margin-top":& ...

  7. 分享一个jquery插件,弥补一下hover事件的小小不足

    hover事件有一个缺点:当你的鼠标无意划过一个dom元素(瞬间划过,这个时候用户可能不想触发hover事件),会触发hover事件 应该设置一个时差来控制hover事件的触发 比如jd左边的菜单 你 ...

  8. QT 托盘 hover事件捕捉

    1. QSystemTrayIcon hover事件 参考:https://stackoverflow.com/questions/21795919/how-to-catch-the-mousehov ...

  9. 获得触发hover事件的元素id

    例: <div class="menu"> <ul> <li> <a id="menu1"></a> ...

随机推荐

  1. golang超级mapper包 - coven

    coven介绍 你可以把它理解成.NET 的 AutoMapper,java的modelmapper 一个快速的转换器去,支持结构到结构,切片到切片和映射到映射非反射转换,类型与嵌套指针支持. 不支持 ...

  2. Android项目目录结构模板以及简单说明

    1) src  文件 编写java代码的文件目录,遵循java的命名规范.分包 2) gen  文件      包含了android的资源文件的标识符,是不需要程序员维护,是自动添加的 3) asse ...

  3. 动态规划-区间dp-Palindrome Removal

    2019-11-09 10:31:09 问题描述: 问题求解: n = 100,典型的O(n ^ 3)的动规问题.一般来说这种O(n ^ 3)的问题可以考虑使用区间dp来解决. 区间dp是典型的三层结 ...

  4. 【科创人独家】PingCAP黄东旭:想告诉图灵这个世界现在的样子

    创业是投己所好 科创人:作为技术圈内著名艺术青年,哪个瞬间会让您更开心,完成一段优美的代码或者乐谱?还是得到来自外界的欢呼与掌声? 黄东旭:在创业之前的很长一段时间里,完成一段代码.写完一首好曲子那一 ...

  5. SVM支持向量机——核函数、软间隔

    支持向量机的目的是寻找一个能讲两类样本正确分类的超平面,很多时候这些样本并不是线性分布的. 由此,可以将原始特征空间映射到更高维的特征空间,使其线性可分.而且,如果原始空间是有限维,即属性数量有限, ...

  6. MySQL的死锁系列- 锁的类型以及加锁原理

    疫情期间在家工作时,同事使用了 insert into on duplicate key update 语句进行插入去重,但是在测试过程中发现了死锁现象: ERROR 1213 (40001): De ...

  7. 图像配准:从SIFT到深度学习

      图像配准(Image Registration)是计算机视觉中的基本步骤.在本文中,我们首先介绍基于OpenCV的方法,然后介绍深度学习的方法. 什么是图像配准 图像配准就是找到一幅图像像素到另一 ...

  8. 最新SCI影响因子发布!Nature屠榜,AI领域Top 1000期刊盘点

    [导读]2018年度SCI期刊影响因子最新发布,Nature.Science.Cell三大神刊排名前列.新智元摘取其中有关人工智能.机器学习.计算机视觉.机器人学等领域的期刊并做简要介绍,希望对读者选 ...

  9. Hive学习笔记七

    目录 函数 一.系统自带函数 二.自定义函数 三.自定义UDF函数开发案例 压缩和存储 一.Hadoop源码编译支持Snappy压缩 1.资源准备 2.jar包安装 3.编译源码 二.Hadoop压缩 ...

  10. html-css:浮动_清除浮动

    1.浮动 清除浮动之前我们首先需要了解为什么要清除浮动 1. 假设我们有一个父盒子,不设置高度,其高度有内部子盒子的大小自动撑开,这样是完全可行的,因为有时候我们并不想直接固定死父盒子的大小,而是根据 ...