我使用Angular ,需要包括一个JavaScript代码,使折叠的链接在导航栏可以显示时,在较小的屏幕上,而不是它显示的图标与3条,当我点击它不显示链接。此代码在HTML文件上工作。如何在angular中包含此JavaScript代码,以便它可以在较小的/电话屏幕上显示导航栏?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Responsive Navigation Bar - Devbabu.Com</title>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<header>
<div class="wrapper">
<div class="logo">
<a href="#"><img src="logo.png" alt="DevBabu.com"></a>
</div>
<div class="navbar">
<div class="close-nav"><button>×</button></div>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
<div class="menu-bar">
<button><i></i></button>
</div>
</div>
</header>
<div class="container">
<!-- Content -->
</div>
<script>
const theBody = document.querySelector('body');
const openNav = document.querySelector('.menu-bar button');
const closeNav = document.querySelector('.close-nav button');
const Navbar = document.querySelector('.navbar');
function showHide(){
Navbar.classList.toggle('show');
// bodyScroll();
}
openNav.onclick = showHide;
closeNav.onclick = showHide;
</script>
</body>
</html>
我试着将这段代码添加到assets中的js文件中,并从那里访问它,但导航栏仍然不起作用。
1条答案
按热度按时间ws51t4hk1#
我对你的问题不太确定。正如你所说的,你正在使用angular,我不知道为什么你想把它作为一个
js
文件嵌入,而不是使用typescript。我在codesandbox上创建了一个最小的示例,您可以在其中看到如何对单击事件作出React、绑定函数和切换类。
如果这不是问题,请细化您的问题,并提供一个最小的工作示例:)
编辑
我又加了一个例子,希望能回答你的问题。