• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > 两个div叠加触发事件发生闪烁问题的解决方法

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

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含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部分:

  1. <div class="fudiv">  
  2.         <span class="div1"><img src="img/jixinjia-partner1.jpg" alt=""/></span>  
  3.         <div class="div2">  
  4.                  <div class="box6"><img src="img/qr-code-bg1%20(1).jpg" alt="p"/></div>  
  5.                  <p>扫码有奖</p>  
  6.         </div>  
  7. </div>  

css部分:

  1. .fudiv:hover .div2 {   
  2.          display: block;   
  3. }   
  4.   
  5. .div2{   
  6.           display: none;   
  7. }  

原本jquery部分,这种方式会出现闪烁问题

  1. <script>   
  2.     $(document).ready(   
  3.             function(){   
  4.                 $(".div1").mouseover(   
  5.                         function(e){   
  6.                             e.stopPropagation();   
  7.                             $(".div2").show();   
  8.                         }   
  9.                 );   
  10.                 $(".div1").mouseout(   
  11.                       &nbs

您可能想查找下面的文章:

  • css小技巧
  • DIV 自动滚动功能及滚动条颜色修改的代码
  • CSS控制div宽度最大宽度/高度和最小宽度/高度的方法
  • 解决img在div中居中的问题
  • 设置一个DIV块固定在屏幕中央的两种方法(推荐)
  • 使用CSS的overflow属性防止float撑开div的方法
  • CSS文本和div垂直居中方法总结
  • 使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
  • html+css+div实现电影结束效果
  • 不固定宽度和高度的情况下CSS调整div居中的方法总结

相关文章

  • 2017-08-06Css Reset 复位相关资料整理
  • 2017-08-06CSS文本如何折行介绍
  • 2017-08-06css实现的交互小三角箭头图标
  • 2017-08-06CSS3提交意见输入框样式代码
  • 2017-08-06IE中伪类hover的使用及BUG
  • 2017-08-06css中的四种定位方式示例介绍
  • 2017-08-06css 解决英文字符与阿位伯数字自动换行
  • 2017-08-06css清除浮动clearfix:after的用法详解(附完整代码)
  • 2017-08-06网页设计经验谈:常用的网页设计工具的收集介绍
  • 2017-08-06利用CSS3的border-radius绘制太极及爱心图案示例

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
    • div+css最小高度的实现代码(兼容ie6/ie7/ie8/firefox)
    • 表单文本框尺寸调整与按钮对齐问题(分成了两行)
    • 简述Eclipse中的CSS编辑器使用
    • CSS3 Notes: -webkit-box-reflect实现倒影的实例
    • 在网页标题栏上和收藏夹显示网站logo的实现方法
    • 浅谈CSS响应式图片运用中的srcset属性
    • 关于CSS选择器优先级的判断题附结果截图
    • CSS 盒模型、块状元素与内联元素、CSS选择器
    • CSS表达式(expression)解决IE6 position:fixed无效问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有