我正在尝试制作粘性导航行为,但 jQuery 脚本似乎无法正常工作或加载。
这是我的 html:
<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div id="logo-menu">
<div id="main-menuid">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#menu">Menu</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js" type="text/javascript"></script>
<script src="js/source.js" type="text/javascript"></script>
</body>
</html>
我还有一些标记可以让我的页面向下滚动以测试粘性导航。
这是 source.js:
(function() {
// STICKY NAV
console.log('hi')
var $nav = $('#logo-menu'),
navTop = $nav.offset().top,
$navClone = $nav.clone(true)
.hide()
.addClass('sticky')
.insertBefore($nav);
$(window).scroll(function() {
if ($(this).scrollTop() > navTop) {
$navClone.show();
} else {
$navClone.hide();
}
});
即使是 console.log('hi')
也不会出现在 firebug 控制台上。任何想法?还是我错过了什么? TIA!
最佳答案
您的函数包含在括号中。如果你删除函数体,你会留下这个:
(function() {});
我想要么你想产生一个自执行函数,在这种情况下你会错过第二组括号来实际执行函数:
(function() {})();
或者您尝试对 $(document).ready
使用 jQuery 速记,在这种情况下您会遗漏 $
:
$(function() {});
关于javascript - Jquery 没有加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672885/