对于悬浮菜单,主要是借助html标签的事件机制,或者hover来实现,先看下效果图:

当鼠标放在名字上时,弹出菜单,离开时,菜单消失。

1.先说下利用事件机制做法:

在事件机制中,主要利用鼠标的一些事件来监听,具体如下:

可以利用onMouseOver(鼠标进入),onMouseLeave (鼠标离开)来监听鼠标的变化

class UserMenu extends React.Component{constructor(props){super(props),this.state={modalIsOpen:'none',atUserItems:false,}this.contentBtn=this.contentBtn.bind(this),this.programBtn=this.programBtn.bind(this),this.handleMouseOver = this.handleMouseOver.bind(this);this.handleMouseOut = this.handleMouseOut.bind(this);this.userCenter = this.userCenter.bind(this);this.handleMouseUserOver = this.handleMouseUserOver.bind(this);}contentBtn(){this.context.router.history.push("/details");}programBtn(){this.context.router.history.push("/gui");}handleMouseOver(e){this.setState({modalIsOpen: 'block',})}handleMouseOut(){this.setState({modalIsOpen: 'none',})}handleMouseUserOver(e){this.setState({modalIsOpen: 'block',})}userCenter(){this.setState({modalIsOpen: 'none',})}render(){const {username} = this.props;return(<div className={styles.body} ><div className={styles.uname}onMouseOver={this.handleMouseOver}onMouseLeave={this.handleMouseOut}>{username}</div><div className={styles.menus}style={{display:this.state.modalIsOpen}}onMouseOver={this.handleMouseUserOver}onMouseLeave={this.handleMouseOut}><ul className={styles.ul}><li className={styles.li} onClick={this.userCenter}>个人中心</li><li className={styles.li} >账号设置</li><li className={styles.li} >注销</li></ul></div></div>)}}UserMenu.contextTypes = {router: PropTypes.object.isRequired
};export default UserMenu

同时 需在样式中设置父类及子类的position值,父类值为 relative,子类值为 absolute,同时为使悬浮菜单在最前端显示,菜单的css中需加入 z-index:999;(数值越大,越靠前端,999最大值)

.body{position:relative
}
.menus{display:none;position:absolute;right: 0;z-index:999;
}.uname{color: white;margin-left: 5px;margin-right: 10px;cursor: pointer;padding-top: 25px;padding-bottom: 20px;padding-left: 5px;
}
.uname:hover{color: darkorange;
}
.ul{width: 120px;background-color: #fff;padding: 10px;border-radius: 8px;-webkit-box-shadow: 0 5px 10px 0 rgba(12,40,46,0.20);box-shadow: 0 5px 10px 0 rgba(12,40,46,0.20);
}
.li{list-style: none;height: 40px;display: list-item;cursor: pointer;
}
.li:hover{color: darkorange;
}

2.如果通过hover判断,需在css中加入    父类:hover  .子类{} ,这个样式,然后在其中通过控制display来控制显示与否,

如父组件样式名为A,子组件样式名为B即需这样写: A:hover .B{display:'block'},来控制

React中hover悬浮菜单的做法相关推荐

  1. android全局悬浮菜单,安卓悬浮菜单全解锁

    安卓悬浮菜单全解锁是一款十分好用的安卓桌面快捷操作整理工具,这款软件可以让你手机拥有一个和iPhone一样的手势悬浮球,一键打开各种应用以及操作,需要的小伙伴赶紧来下载这款安卓悬浮菜单全解锁吧~ 软件 ...

  2. android 菜单工具,悬浮菜单-手机菜单工具

    悬浮菜单是一款手机功能辅助菜单工具,它会增加一个悬浮在手机桌面上的便捷菜单,而且可以任意展开和缩进,让你能够更加方便地操作手机.同时它还支持自定义菜单,让它能够更加符合你的个人习惯,非常方便.如果你觉 ...

  3. WPF开发的实用小工具 - 快捷悬浮菜单

    WPF开发的实用小工具 - 快捷悬浮菜单 ❝ 本文由网友投稿,Dotnet9站长整理.站长觉得这小工具很实用,站长家里.公司也在尝试使用了. 行文目录: 这工具有什么用? 正文 源码获取及应用下载体验 ...

  4. 纯CSS实现带返回顶部右侧悬浮菜单

    这是我做个人网页的时候加上的带返回顶部右侧悬浮菜单效果,如下图, 使用工具是Hbuilder. 代码如下: <!DOCTYPE html> <html><head> ...

  5. android 悬浮按钮 魅族,魅族,我的悬浮球功能比你的强大:悬浮菜单

    Android 上的小圆点应用比比皆是,最近魅族也在 Flyme 4.1 中加入了悬浮球功能.本来对这类应用也是倦了,但想试试无妨.经过几天的使用,感觉悬浮菜单特别就特别在功能非常全面,一个应用就能搞 ...

  6. APP中的悬浮球设计总结

    本文为PMCAFF专栏作者836488572出品 如果问我过去一段时间最令人印象深刻的交互方式有哪些?我想说的有两个:一个是微信的文章浮窗,在阅读文章时,如果有紧急信息需要处理,可以把文章加入浮窗,想 ...

  7. layui单元格鼠标样式_Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法...

    如下所示: var tableIns = window.demoTable = table .render({ elem : '#idTest', id : 'idTest', url : '/par ...

  8. 如何在React中做到jQuery-free

    前言 前些天在订阅的公众号中看到了以前阮一峰老师写过的一篇文章,「如何做到 jQuery-free?」.这篇文章讨论的问题,在今天来看仍不过时,其中的一些点的讨论主要是面向新内核现代浏览器的标准 DO ...

  9. css 菜单栏悬停_在CSS中构建悬停菜单

    css 菜单栏悬停 A good menu design is an important part of any website or web app UI. Using only modern HT ...

最新文章

  1. RBF(径向基)神经网络 非线性函数回归的实现
  2. VTK:PolyData之ExtractSelectionOriginalId
  3. 图书漂流系统的设计和研究_研究在设计系统中的作用
  4. 双系统重装win7/Xp后如何恢复ubuntu引导--转载
  5. 寻找素数分配线程算法
  6. 虚拟机中CentOS系统安装流程
  7. 叮咚智管-智慧物业管理系统
  8. keil交通灯c语言,用Keilc软件设计一个交通灯程序C程序
  9. 用猿大师VLC播放程序与海康威视官方播放器在高版本Chrome播放RTSP视频流延迟效果对比!(视频演示)
  10. 2022百度之星程序设计大赛 - 复赛 1003 最大值
  11. Oracle如何卸载、清理干净
  12. 深入学习D3JS:d3-array Statistics部分 d3.min, d3.max,d3.extent,d3.sum,d3.scan,d3.ascending,d3.deviation
  13. 2022年各国程序员薪资排名!
  14. css 实现一个尖角_css3如何做尖角标签效果?
  15. 无聊做做数学题系列1 - 正弦定理及三角公式
  16. 卧槽,迅雷的代码结构被扒了精光
  17. 遗传算法最通俗的讲解案例
  18. Synchonized原理
  19. centos7策略路由配置
  20. java buildpack是什么_javabuildpack改造

热门文章

  1. MongoDB实现地理坐标服务(查询附近,查询距离)
  2. A Novel Lip Descriptor for Audio-Visual Keyword Spotting Based on Adaptive Decision Fusion(2016)
  3. MySQL数据库技术 第二版 章末 答案—单元5---思考5
  4. css如何让图片均匀分布,如何在CSS中均匀分布?
  5. VR全景展示,让餐饮店线上+线下更加吸引人
  6. aardio 读取excel数据问题
  7. 时尚的蓝紫色动漫网站HTML模板 - OneAnime
  8. win8全角/半角切换
  9. 趋肤效应和铜皮粗糙度关系以及带来导线损耗影响
  10. 学习记录 - 每周知识总结