JavaScript实现点击出现子菜单效果


Posted in Javascript onFebruary 08, 2021

本文实例为大家分享了JavaScript实现点击出现子菜单的具体代码,供大家参考,具体内容如下

首先让我们看一下点击出现子菜单的效果如下图:

JavaScript实现点击出现子菜单效果

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

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 相关文章推荐
很好用的js日历算法详细代码
Mar 07 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
DOM基础教程之使用DOM
Jan 19 Javascript
js实现顶部可折叠的菜单工具栏效果实例
May 09 Javascript
深入理解JavaScript编程中的同步与异步机制
Jun 24 Javascript
AngularJS入门教程之双向绑定详解
Aug 18 Javascript
JavaScript原生节点操作小结
Jan 17 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
Jul 24 Javascript
浅谈react性能优化的方法
Sep 05 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
Jul 02 Javascript
Vue 实现拨打电话操作
Nov 16 Javascript
深入理解javascript中的this
Feb 08 #Javascript
Vue中使用wangeditor富文本编辑的问题
Feb 07 #Vue.js
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 #Vue.js
js基于canvas实现时钟组件
Feb 07 #Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
Feb 07 #Javascript
js实现类选择器和name属性选择器的示例步骤
Feb 07 #Javascript
vue如何使用rem适配
Feb 06 #Vue.js
You might like
php注入实例
2006/10/09 PHP
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
php将时间差转换为字符串提示
2011/09/07 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
js随机生成一个验证码
2017/06/01 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
学习python的前途 python挣钱
2019/02/27 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
Python3 读取Word文件方式
2020/02/13 Python
英国女性时尚品牌:Apricot
2018/12/04 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
工程承包协议书
2014/04/22 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
自我检讨书范文
2015/01/28 职场文书
php双向队列实例讲解
2021/11/17 PHP
室外天线与收音机天线杆接合方法
2022/04/05 无线电
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL