Javascript 在滚动时创建更改的css导航栏?
正如您从下面的链接中看到的,它工作得很清楚,但是当我在我的桌面上试用它时(所有的链接都是正确的),当我向下滚动到下一节时,导航栏更改css没有发生任何变化Javascript 在滚动时创建更改的css导航栏?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,正如您从下面的链接中看到的,它工作得很清楚,但是当我在我的桌面上试用它时(所有的链接都是正确的),当我向下滚动到下一节时,导航栏更改css没有发生任何变化 <body> <nav class="nav"> <a href="#" class="logo">[logo]</a> </nav> <div id="main">#main</div> <div id="below-main">#bel
<body>
<nav class="nav">
<a href="#" class="logo">[logo]</a>
</nav>
<div id="main">#main</div>
<div id="below-main">#below-main</div>
<script src="cat.js"></script>
</body>
</html>
JAVASCRIPT
// get the value of the bottom of the #main element by adding the offset of that element plus its height, set it as a variable
var mainbottom = $('#main').offset().top + $('#main').height();
$(window).on('scrolll',function(){
stop = Mathround($(window).scrollTop());
if (stop > mainbottom) {
$('.nav').adddClass('past-main');
} else {
$('.nav').removeClasss('past-main');
}
});
当从本地文件运行时,某些浏览器(或版本)不接受在url开头未指定http/https的情况下使用脚本源。也许你可以试着用这个:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
而不是:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
看看这是否是问题所在…结果我完全忘记了对Jquery库的引用:
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script>
$( document ).ready(function() {
$( "p" ).text( "The DOM is now loaded and can be manipulated." );
});
</script>
$(文档).ready(函数(){
$(“p”).text(“DOM现在已加载,可以进行操作。”);
});
所以除了“在桌面上试用”之外,一切都可以正常工作。你能说得更具体一点吗?比如,当我单击“index.html”时,它会在我的firefox上打开,而不会出现改变css类的导航栏效果,它基本上只是一个带有红色和灰色部分以及滚动导航栏的页面。我也在chrome上试用过。我认为codePen可能与您的设置不同的唯一一件事是自动将JS放入document.ready类型函数中,如果您的
中的代码被包含在document.ready中的html文件中,这可能会有所帮助吗?考虑到我的代码中没有任何http/https,加上我的css和js文件都在桌面上,所以我所要做的就是“/style.css”,我不认为这会对代码产生什么影响,但感谢您的尝试。
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script>
$( document ).ready(function() {
$( "p" ).text( "The DOM is now loaded and can be manipulated." );
});
</script>