zoukankan      html  css  js  c++  java
  • mouseleave mouseout时候悬浮框不应该消失的时候消失了 css 解决办法

    要实现的效果和代码思路

    简单来说就是 用一个div包着喇叭和悬浮框 悬浮事件写在这个div上 鼠标悬浮到div上的时候 悬浮框出现

    最终要做成鼠标从小喇叭移动到下面的框上的时候 下面框是不会消失的。

    遇到的问题

    遇到的问题是 当鼠标从喇叭移动到悬浮框上面的时候 鼠标移动到三角那个空隙的时候 下面的悬浮框就会消失

    解决办法有的人说 mouseleave的时候用timeout判断一下,如果移到下面那个悬浮框上了(判断是否移动到悬浮框,给悬浮框写mouseentered事件),就把隐藏逻辑停掉就行了,我试了下,很不好用

    出现问题的原因

    仔细想了想,其实用简单的css就可以解决。之所以遇到上面所说的问题是因为喇叭和悬浮框中间有空隙,因此鼠标移动到了这个空隙上的时候,就相当于焦点移开了包着喇叭和悬浮框的div。

    解决办法

    我们只要在这个悬浮框外面再套一个div(这个div的css样式只写位置不写背景色),这个div就会跟喇叭同级,让这个div和这个喇叭之间没有空隙,鼠标悬浮到喇叭上的时候,让这个div出现,自然这个div包着的有背景色的悬浮框也会出现了。只要这个div和这个喇叭之间没有空隙,那么鼠标从喇叭移动到下面的悬浮框的时候,就不会触碰到空隙,因而悬浮框就不会消失。

  • 相关阅读:
    c#之字段,属性,索引器,常量
    c#类,对象,类成员简介
    c#之接口,依赖反转,单元测试
    c#之 抽象类与开闭原则
    c#重写与多态
    c#之类
    c#之类的继承,类成员的访问控制
    c#之委托
    c# try catch用法思路
    js的全局变量
  • 原文地址:https://www.cnblogs.com/mabelstyle/p/3899244.html
Copyright © 2011-2022 走看看