jquery - 如何通过 css 为我的菜单添加深色背景?
问题描述
我正在使用WordPress
我的网站,并且我自己创建了一个主菜单,jQuery
当slideleft
用户单击菜单按钮时。但是有一个大问题:当用户单击菜单外关闭菜单时,该元素(菜单外,如按钮)也会被单击。我需要这样的东西Bootstrap Modal
,当它出现时,模态周围会变暗,通过单击模态,模态将关闭,也不会单击任何内容。你明白我的意思吗?
jQuery(document).ready(function($) {
$('#menubutton').click(function(e) {
e.stopPropagation();
$('#menuhidden').toggleClass('menushown');
});
$('#menuhidden').click(function(e) {
e.stopPropagation();
});
$('body,html').click(function(e) {
$('#menuhidden').removeClass('menushown');
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<header>
<div class="topmenubutton" id="menubutton">
<span></span>
<span></span>
<span></span>
</div>
<div class="topmenusearch">
<a href="#searchmodal" data-toggle="modal"><i class="fa fa-search"></i></a>
</div>
<div class="topmenuicon">
<a href=""><img src="" class="img-responsive" alt=""></a>
</div>
</header>
<nav id="menuhidden" class="menuhidden">
<ul>
<a href="">
<li><i class="fa fa-home"></i><span>course01</span></li>
</a>
<a href="">
<li><i class="fa fa-user"></i><span>course02</span></li>
</a>
<a href="">
<li><i class="fa fa-phone"></i><span>course03</span></li>
</a>
<a href="">
<li><i class="fa fa-home"></i><span>course04</span></li>
</a>
</ul>
</nav>
解决方案
我发现我自己:
HTML 代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<header>
<div class="topmenubutton" id="menubutton">
<span></span>
<span></span>
<span></span>
</div>
<div class="topmenusearch">
<a href="#searchmodal" data-toggle="modal"><i class="fa fa-search"></i></a>
</div>
<div class="topmenuicon">
<a href=""><img src="" class="img-responsive" alt=""></a>
</div>
</header>
<nav id="menuhidden" class="menuhidden">
<ul>
<a href="">
<li><i class="fa fa-home"></i><span>course01</span></li>
</a>
<a href="">
<li><i class="fa fa-user"></i><span>course02</span></li>
</a>
<a href="">
<li><i class="fa fa-phone"></i><span>course03</span></li>
</a>
<a href="">
<li><i class="fa fa-home"></i><span>course04</span></li>
</a>
</ul>
</nav>
<div id="mymenu_overlay" class="mymenu_overlay"></div>
jQuery代码:
jQuery(document).ready(function($) {
$('#menubutton').click(function(e){
e.stopPropagation();
$('#menuhidden').toggleClass('menushown');
$('#mymenu_overlay').toggleClass('mymenu_overlay_active');
});
$('#menuhidden').click(function(e){
e.stopPropagation();
});
$('body,html').click(function(e){
$('#menuhidden').removeClass('menushown');
$('#mymenu_overlay').removeClass('mymenu_overlay_active');
});
});
CSS 代码:
.mymenu_overlay {
position: fixed;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.6);
left: 0;
top: 0;
z-index: 99999;
cursor: pointer;
opacity: 0;
visibility: hidden;
transition: ease-in-out .3s;
-ms-transition: ease-in-out .3s;
-webkit-transition: ease-in-out .3s;
-o-transition: ease-in-out .3s;
-moz-transition: ease-in-out .3s;
}
.mymenu_overlay_active {
opacity: 1;
visibility: visible;
}
推荐阅读
- minecraft - 如何在我的世界 1.14 中使用命令块设置交易箱?
- prolog - 从包含的 prolog 文件访问谓词
- java - 如何遍历二叉树
- elasticsearch - 如何为一条数据中的值数量创建脚本字段?
- amazon-web-services - AWS sam 对远程资源的本地调用
- python - 有没有比 csv.DictReader 更好的方法来编译来自多个文件的列数据?
- jython - 将外部 Sikuli 类导入 1 个 Sikuli 脚本
- sql - 如何计算查询中的剩余值
- bash - 如何在使用 Plink 执行的 bash 文件中接受用户输入?
- django - 如何基于PGsql在Django中迁移模型