javascript - jQuery(文档).ready(函数(){}); 不能正常工作
问题描述
在 main.js
jQuery(document).ready(function(){
"use strict"
$(window).scroll(function(){
var top = $(window).scrollTop();
if(top>=60){
$("nav").addClass('secondary');
}
else{
if($("nav").hasClass('secondary')){
$("nav").removeClass('secondary');
}
}
});
});
在 index.html 中
<head>
<link rel="stylesheet" href="css/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/main.js"></script>
<head>
在 style.css
.secondary{
background-color:#34495e;
}
当页面向下滚动时,它是用于将具有类 'nav' 的导航栏的类更改为类 'secondary' 的代码
$(window).scroll(function(){
var top = $(window).scrollTop();
if(top>=60){
$("nav").addClass('secondary');
}
else{
if($("nav").hasClass('secondary')){
$("nav").removeClass('secondary');
}
}
});
上面的代码在里面不能正常工作
jQuery(document).ready(function(){});
但,
jQuery(document).ready(function(){
"use strict"
alert("hello world");
});
工作正常,其他一些功能也工作正常
但有些功能不起作用。
谁能帮我找到这个问题的解决方案
解决方案
你的代码是正确的。检查 with 的值top
以console.log
确保触发滚动事件。否则,您会发现有关代码其他部分的错误。
例如,这是可行的,并且也进行了轻微优化:
$(document).ready(function() {
"use strict";
var $win = $(window)
var $nav = $("nav");
$win.scroll(function() {
var top = $win.scrollTop();
console.log(top);
if (top >= 60) {
$nav.addClass("secondary");
} else if ($nav.hasClass("secondary")) {
$nav.removeClass("secondary");
}
});
});
推荐阅读
- swiper - Swiperjs 淡入淡出过渡没有正确交叉淡入淡出,而是添加了白色交叉过渡效果
- windows - 在 Mattermost 上运行服务器时出现 Unicode 错误?
- android - 运行 Gradle 任务“assembleDebug”。(这需要很长时间。)
- amazon-web-services - 使用 AWS Toolkit for Cloud9 在本地导入、编辑和调试 Lambda 函数
- java - Spring Boot 5 中的持久化 API 令牌
- typescript - Nest.js Graphql Nested InputType 抛出引用错误
- azure - 如何使用其他 Azure 服务对 IoT Central 设备进行身份验证?(例如:下载OTA bin)
- c# - 文档 | 为什么 API 返回“资源不支持 http 方法 'POST'” | C#
- python-3.x - 在 Python 中从 SQL 数据库打印正确的列表项
- javascript - VBA Web 自动化:触发文本输入的 Return/Tab 事件