javascript - 为什么我的 .js 文件没有在我的网站上运行?
问题描述
嘿,我正在为我的全栈课程做一个项目,我想为移动视图制作一个下拉菜单,但由于某种原因,我的 .js 文件不起作用,即使它与教程中看到的完全一样以及我见过的这样做的网站。
我已经尝试过用 Bootstrap 来做,但同样的事情发生了,一切都很完美,直到应用移动视图并且菜单不显示。
更确切地说,当我将我的网站切换到移动视图时,它会根据我的需要进行调整,但是当单击下拉菜单图标时,什么都没有显示,任何地方都没有菜单出现。
HTML:
<!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>Document</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/mediaqueries.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro&display=swap" rel="stylesheet">
<link href='https://css.gg/menu.css' rel='stylesheet'>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
crossorigin="anonymous" />
</head>
<body>
<header>
<nav id="menu">
<ul>
<li><a href="#">Inicio</a></li>
<li><a href="#">Información</a></li>
<li><a href="#">Sobre nosotros</a></li>
<li><a href="#">Contacto</a></li>
</ul>
</nav>
<div class="menu-toggle">
<i class="fa fa-bars"></i>
</div>
</header>
<!-- INICIO DEL HEADER -->
<div class="header">
<h1 class="title">DevHub - A Developer Matchmaking .</h1>
<p class="description">CREA Y COMPARTE TUS IDEAS, ENCUENTRA COMPAÑEROS Y COMIENZA z DESARROLLAR</p>
</div>
<!-- FIN DEL HEADER -->
<!-- SEGUNDA SECCIÓN -->
<div class="section1">
<a href="#" class="section1-perfil">
<h2>Crea tu perfil</h2>
<p class="profile-description"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Harum odio est
ducimus dignissimos necessitatibus minus modi molestias hic! Quam, ex? Lorem ipsum dolor sit amet
consectetur adipisicing elit. Ratione nobis esse incidunt aut ad itaque voluptatibus eligendi iste non
voluptatem.
</p>
</a>
<a href="#" class="section1-proyectos">
<h3>Proyectos populares</h3>
<p class="profile-description"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Harum odio est
ducimus dignissimos necessitatibus minus modi molestias hic! Quam, ex? Lorem ipsum dolor sit amet
consectetur adipisicing elit. Ratione nobis esse incidunt aut ad itaque voluptatibus eligendi iste non
voluptatem.
</p>
</a>
</div>
<!-- FIN DE LA SEGUNDA SECCIÓN -->
<script src="menu.js"></script>
</body>
</html>
和我的 .js 文件:
let menuToggle = document.querySelector('.menu-Toggle');
let menuToggleIcon = document.querySelector('.menu-Toggle i');
let menu = document.getElementById('menu');
menuToggle.addEventListener('click', e => {
menu.classList.toggle('show');
});
解决方案
问题是您在大写 T 中使用“切换”,并且它应该是全小写的,正如它在您的 HTML 中所说的那样,试试这个:
let menuToggle = document.querySelector('.menu-toggle');
let menuToggleIcon = document.querySelector('.menu-toggle i');
let menu = document.getElementById('menu');
menuToggle.addEventListener('click',e=>{
menu.classList.toggle('show');
});
另一件事可能是 ID 的 CSS# menu
是冲突的,它不会使 .show
类工作,看看这个例子,id 中没有样式,但隐藏了一个类:https ://jsfiddle.net/y42gaLq3/ 3/
推荐阅读
- c - 逐部分获取 vsnprintf() 输出
- asciidoctor - 从 asciidoctor 激活植物
- ms-word - 在哪里取消隐藏隐藏的部分?
- regex - PostgreSQL 正则表达式不是那么不贪婪
- android - ExifInterface saveAttributes() 不将属性保存到 jpg 图像
- python - `import dolphindb` 时 DLL 加载失败
- javascript - 如何在 laravel 5.7 的不同页面上将数据从一个表单传递到另一个表单?
- javascript - 如何删除数组中的重复出现?
- react-select - 选项未显示在 react-select 下拉列表中,但可以在 console.log 中看到数组看起来不错
- powershell - 需要协助复制任务