我真的是Javascript新手,我一直在花时间尝试解决这个问题。我的代码在我的[Codepen]上运行得就像我希望的那样。
$(window).on("scroll", function() {
if ($(window).scrollTop() > 10) {
$(".topnav").addClass("active");
$(".mustang").addClass("active");
$(".sally").addClass("active");
} else {
$(".topnav").removeClass("active");
$(".mustang").removeClass("active");
$(".sally").removeClass("active");
}
});
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
但是它在我的网站上不起作用,最大的问题是我的网站上的导航栏不会变色,但是在我的Codepen上它会完美地变色。
我几乎可以肯定这是我的Javascript的一个问题,我真的很感激如果有人能帮助我。谢谢。
3条答案
按热度按时间mrphzbgm1#
如果您检查网站上的控制台(按F12,或右键单击〉Inspect),则会看到一个错误:
未定义$
这是因为,尽管您已经在页面中包含了jQuery,但它需要放在您自己的代码之前。
还要注意,可以通过使用
toggleClass()
并为addClass()
提供一个函数来简化JS逻辑:kqhtkvqz2#
我想是因为如果你去设置,然后点击js,你会看到有添加外部脚本/笔在那部分,会有一些网址。复制它们,把它们放在你的网站上。
ggazkfy83#
在脚本标记中,
使用
defer