博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
旁门左道通过JS与纯CSS实现显示隐藏层
阅读量:4977 次
发布时间:2019-06-12

本文共 1809 字,大约阅读时间需要 6 分钟。

   想必大家在开发前端页面时,肯定少不了显示隐藏层这一技术点。那么我简单粗暴地总结了以下两个小demo.

   要实现该截图的功能:鼠标移动到我的好友这个选项卡时,灰色的隐藏层就会出现。

 

 1.    通过纯CSS实现。

该方法最简单,最粗暴。

这是部分HTML代码。

1 
2 我的好友 3
4
9
10

 

CSS代码部分(非关键部分已删除) 

1 .myfriends{ 2  3     overflow: hidden; 4  5     position: relative; 6 width: 90px; 7  8 height: 30px;/*父元素的容器高30px*/ 9 10 }11 .myfriends:hover {12 13     overflow: visible;14 15 }16 .myfriendsList {17 18     position: absolute;/**/19 20     width: 80px;21 22     height: 100px;23 24     top: 28px;/*子容器距离父容器一定要top<30*/25 26     left: 9px;27 28     z-index: 10;29 30 }

 

当你修改成以下样式时,
1 .myfriendsList { 2 3     top: 28px;/*子容器距离父容器一定要top<30*/4 5 }

 

就出现下面这张可图的效果,当然你鼠标离开时,隐藏层又消失,那么这样永远也无法点击隐藏层的菜单选项。

 

那么,问题来了,我就时要做到截图的效果同时有能点击点击隐藏层的菜单选项应该怎么做呢?

我有个旁门左道的方法,放完整代码。

    
发现
我的好友
纯CSS

 

运行的结果如上图所示。

 

当我为.blank 加上background-color: #3273B0;样式时,实际是如上面截图所示。原因在注释里已标注。所谓的衔接,其实是:当鼠标移上我的好友时,空白容器blank就会“拖住”子容器,myfriendsList(前提是你blank的height > myfriendsList的height—父容器的height。)
 
 
2.通过JS实现。

好咯,我又放代码。

    
发现
我的好友
js实现

运行后如上截图显示,其实,最主要的是用了setTimeout这个定时器,我让隐藏层出现后,鼠标离开的0.2秒后隐藏层再消失,在这0.2秒里,用户自然会将鼠标移到隐藏层上,从而可以点击隐藏层的菜单选项。
   嗯,当然,记得一定要  clearInterval(timer);否则会出现很大的bug,由于篇幅的问题,我就不外扯了。
 
好了,我总结的这两个方法实在是旁门左道,不像传统的方法那样规规矩矩。因为我觉得这两个方法古怪而有意思,才写下这篇博客。太简单的谁都会吧,写了还显得自己low。
 如果有什么错误欢迎大家批评指正,我定当立即修改,以免误导他人。
 
 

转载于:https://www.cnblogs.com/LIUYANZUO/p/4834584.html

你可能感兴趣的文章
HDU6203 ping ping ping
查看>>
Fireworks基本使用
查看>>
Java基础常见英语词汇
查看>>
nginx启动、关闭命令、重启nginx报错open() "/var/run/nginx/nginx.pid" failed
查看>>
BZOJ 3097 Hash Killer I
查看>>
UINavigationController的视图层理关系
查看>>
html阴影效果怎么做,css 内阴影怎么做
查看>>
BZOJ1026: [SCOI2009]windy数
查看>>
组件:slot插槽
查看>>
Nginx配置文件nginx.conf中文详解(转)
查看>>
POJ 1308 Is It A Tree?(并查集)
查看>>
N进制到M进制的转换问题
查看>>
springIOC第一个课堂案例的实现
查看>>
求输入成绩的平均分
查看>>
php PDO (转载)
查看>>
wordpress自动截取文章摘要代码
查看>>
[置顶] 一名优秀的程序设计师是如何管理知识的?
查看>>
highcharts 图表实例
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>