千家信息网

如何解决两个div叠加触发事件发生闪烁的问题

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,如何解决两个div叠加触发事件发生闪烁的问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。当鼠标移到div1上的时候,会出现div2。出
千家信息网最后更新 2025年01月17日如何解决两个div叠加触发事件发生闪烁的问题

如何解决两个div叠加触发事件发生闪烁的问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

当鼠标移到div1上的时候,会出现div2。出现时div2在div1的上面,div2在出现后发生闪烁的问题。

于是开始找问题根源,发现原来是因为当我们触发div1的时候,div2出现,但是div2是存在于div1上面的,所以当div2出现后,会又一次触发下面div1的事件。通常我们可能给的事件是mouseover和mouseout,因为两个div叠加,div2出现时会多次触发div1的事件,所以就会发生闪烁问题。

解决:

1.一开始换mouseenter和mouseleave,但是发现还是一样的问题。

注:

mouseover()与mouseout() 表示鼠标移入和移出的时候触发,穿过子元素也会触发

mouseenter()和mouseleave() 表示鼠标穿过和穿出时候触发,穿过子元素不会触发

2.然后又添加e.stopPropagation();阻止冒泡和e.preventDefault();阻止默认事件,还是没有对症。

注:

e.stopPropagation(); //阻止冒泡之后,就不会形成冒泡向上传递了。

e.preventDefault(); //阻止默认行为

3.最后换为切换事件toggle切换事件也不顶事儿。

4.最终,如果想用js解决这个问题可能不容易,用js基本都会发生闪烁问题。那么我们使用css方式是不是可以解决呢?网上查了很多资料,发现也有很多人遇到这个问题,使用的是css中的hover来解决的。

具体使用方法:

给两个div的父元素,也就是共同包裹两个div的盒子一个hover,当父元素hover时,div2的样式设置为display:block;于是就顺利解决了这个问题,不会再出现闪烁问题。

下面上代码:

html部分:

XML/HTML Code复制内容到剪贴板

  1. <

  2. div class="fudiv">                    
    p

    扫码有奖

css部分:

CSS Code复制内容到剪贴板


  1. .fudiv:hover .div2 {            display: block;   }     .div2{             display: none;   }  原本jquery部分,这种方式会出现闪烁问题JavaScript Code复制内容到剪贴板

看完上述内容,你们掌握如何解决两个div叠加触发事件发生闪烁的问题的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

问题 事件 两个 内容 元素 时候 叠加 剪贴板 方法 部分 鼠标 剪贴 方式 更多 还是 切换 束手无策 为此 上代 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 转转的服务器繁忙是什么意思 三星内存条如何区分服务器内存 网络安全实战演练目的 浪潮nf5280m5服务器丢了 软件开发新增需求涵 隆回电信dns服务器是多少 如何保证外网服务器的安全 四川荣县网络安全宣传 内网网络安全注意事项 英雄联盟怎么一直无法连接服务器 泉州直播app软件开发 关闭服务器命令 odps数据库介绍 电力监控系统网络安全是什么 天津常规软件开发质量服务 网络安全方案百度百科 英雄联盟哪个地方有服务器 电力行业网络安全什么方针 数据库前端软件 天猫曾经发生的网络安全事件 南昌市金泉网络技术 it网络技术学徒是学什么 数据库怎么在表中给字段注释 500g高防服务器 数据库索引占用空间吗 热爱祖国绘画软件开发 周村设备配件工具软件开发服务 数据库查询价格排名前五的商品 亳州餐饮软件开发公司哪家好 网络技术面试的自我介绍
0