javascript - 为什么我的 JS 移动导航在我的所有页面上都有效,但只有一个?

标签 javascript html css navigation

我正在构建一个网站,并且我有一个由 JS 控制的移动下拉菜单(对于 400 像素以下的设备,它会与 @media 查询一起出现)。我的网站是jeffarries.com (我正在谈论的页面就在那里),移动导航适用于我的所有其他页面,但不适用于我的政治页面。不起作用的是打开和关闭导航下拉菜单的栏不旋转,并且 body 未设置为 position: fixed;。为什么我的 JS 在所有页面上都有效,但政治除外?

谢谢!

附言我可以提供代码,但它有 250 多行并且在不同的文件中,所以我认为最好在我的网站上查看它。 (我不想听起来很懒,所以如果你想要代码,尽管问我会提供)

最佳答案

为什么我的 JS 移动导航在我的所有页面上都有效,但只有一个?

因为你有一个 javascript 错误!

检查你的浏览器控制台,你会看到它:

TypeError: null 不是一个对象(评估 'document.getElementById("javascript_warning").style')

如果您查看 politics.js 文件的第 331 行,您将看到以下函数:

// Hides javascript warning message
function myFunction() {
    document.getElementById("javascript_warning").style.display = "none";
}

这是导致错误的原因,因为 document.getElementById("javascript_warning") 为 null 而您正试图对其调用样式。

确保元素首先存在,例如

// Hides javascript warning message
function myFunction() {
    var elem = document.getElementById("javascript_warning");
    if (elem != null) {
        elem.style.display = "none"
    }
};

关于javascript - 为什么我的 JS 移动导航在我的所有页面上都有效,但只有一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36779243/

相关文章:

javascript - 在 Angular 4 中使用 bootstrap 4 或 ng-bootstrap 组件

javascript - 自定义单选按钮 - 在 IE 中损坏

javascript - 如何在 Vue 中使用全局函数?

javascript - Inline-Block退出全屏后转为Block元素-Chrome

javascript - 如何使用 JavaScript 使标题标签内的文本具有动画效果?

jquery - Bootstrap 输入不再四舍五入

javascript - MongoDB 和 Express : Type Error: Converting Circular structure to JSON

java - Jsoup 返回 Activity 文本字段

html - 如何在列表中的 Font Awesome 图标后放置换行符?

html - 当我应用 CSS 类时,该类已应用但类为空