javascript - 使用 javascript 在点击时显示移动导航
问题描述
我正在尝试在使用 javascript 单击汉堡图标时显示移动菜单,但似乎无法使其正常工作。有人可以帮忙吗?我附上了下面的代码,目前菜单由于转换属性而隐藏在屏幕右侧,但是当我单击汉堡图标时,我想显示它。问题是否在于调用附加到父元素的 css 属性?
HTML
<header>
<a href="/stjohnschurch" class="nav-brand">
<img src="http://dev.righthookstudio.co.uk/stjohnschurch/wp-content/uploads/2020/05/St-Johns-Church.png" alt="st johns logo">
</a>
<nav>
<?php wp_nav_menu(
array (
'theme_location' => 'primary-navigation',
'menu_class' => 'primary-navigation'
)
);?>
<div class="burger">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
</nav>
</div>
CSS
@media (max-width: 991.98px) {
body {
overflow: hidden;
}
header .primary-navigation {
position: absolute;
height: 100vh;
top: 8vh;
right: 0;
z-index: 999;
background: #fff;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
transform: translateX(100%);
transition: transform 0.5 ease-in;
}
header .primary-navigation li {
opacity: 0;
}
.burger {
display: block;
}
.nav-active {
transform: translateX(0%);
}}
Javascript
const navSlide = () => {
const burger = document.querySelector('.burger');
const nav = document.querySelector('header > .primary-navigation');
burger.addEventListener('click', ()=>{
nav.classList.toggle('nav-active');
}); } navSlide()
解决方案
推荐阅读
- azure - 使用 Azure AD 成功进行身份验证后,Azure OAuth 身份验证无法重定向
- javascript - 使用 Quasar Framework 和 i18n 时,字符将无法正确显示
- c++ - 查找给定排序数组中不存在的最小数字 >= x
- google-cloud-platform - gcp:资源类型的事件不一致。存储桶缺少“操作”
- javascript - 使用jQuery的淡出左和淡入右动画
- google-sheets - 谷歌电子表格 ImportXML
- jquery - 如何在 ajax 中为 laravel 的模态窗口使用 Get 和 Post 方法
- python - 使用 Pydantic 创建 CSV 行
- terraform - Terraform 脚本成功创建资源但以错误结束
- kotlin - Kotlin 扩展函数 vs utils/helpers