JS实现简易点击出现子菜单功能实例
Admin 2021-04-06 群英技术资讯 1949 次浏览
在前端开发时,点击父菜单弹出子菜单功能是比较经常遇到需求,这篇文章就主要介绍用JavaScript实现点击出现子菜单,以下是简易的实现效果以及具体代码展示,感兴趣的朋友就继续往下看吧。
首先让我们看一下点击出现子菜单的效果如下图:

点击黄色的按钮,出现子菜单如下图:

让我们先看一下布局:
<div class="menu"> <div class="sign" id="sign"></div> <div class="lis" id="lis"> <ul> <li><a href="">one</a></li> <li><a href="">two</a></li> <li><a href="">three</a></li> <li><a href="">four</a></li> <li><a href="">five</a></li> </ul> </div> </div>
CSS样式如下:
ul{
padding-inline-start: 0px;
}
.menu{
margin: 0 auto;
background:#0DA795;
height: 40px;
width: 600px;
}
.sign{
width: 30px;
float: right;
margin-right: 20px;
margin-top: 8px;
height: 25px;
background: rgba(243,193,63,1.00);
border-radius: 5px;
position: relative;
cursor: pointer;//把光标设置成手的形状
}
.lis{
position: absolute;
top:30px;
display: none;
}
.lis ul li{
list-style: none;
width: 600px;
line-height: 40px;
font-size: 14px;
text-align: center;
border-bottom: 1px solid #565656;
background:#EAEDD5;
}.lis a{
text-decoration: none;
color: black;
}
.lis a:hover{
color: #0da759;
}
CSS样式里面特别注意一下position(定位)。
Lis这个类里面的display:none;因为一开始子菜单是隐藏起来的。
JavaScript部分如下:
1、先获取它们的 ID,获取它们的ID之后,给第一个ID(sigin)通过OnClick添加一个点击事件;
2、在声明一个变量i,第二个ID赋值于i,在用一个分支语句if……else,如果i等于none;那么就执行第一条语句,如果不等于,就执行第二条语句。
这样就达到了我们想要的效果,见实现代码:
<script>
var biaozhi=document.getElementById("sign");
var li=document.getElementById("lis");
biaozhi.onclick=function(){
var i=li.style.display;
if (i=="none"){
li.style.display="block";//第一条语句
}else{
li.style.display="none";//第二条语句
}
}
</script>
以上就是关于用JavaScript点击出现子菜单的实例介绍,感兴趣的朋友能够参考上述内容来自己实现一下效果。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家分享用JS做简单的网页留言板功能的内容,留言板的功能还是比较实用的,很多场景都能用到,本文有实现代码供大家参考,感兴趣的朋友可以了解看看,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。
微信小程序实现拍照打卡功能 本文实例为大家分享了微信小程序实现拍照打卡的具体代码,供大家参考,具体内容如下 由于拍照组件是相当于一个块,用隐藏显示的方法不太好,为了更好的用户交互,选择了在一个新的页面调用相机组件,上传图片并保存打卡数据的方式. 小程序端 签到页面wxml <view class="signBtn" bindtap="signSubmit"> <view>{{signTime}}</view> <view>打卡签 ...
Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,这篇文章主要介绍了JavaScript中Webpack的使用,需要的朋友可以参考下
这篇文章主要介绍了vue储存storage时含有布尔值的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了面试官:为什么Vue中的v-if和v-for不建议一起用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008