如果这个问题已经得到解答,我道歉.我试过寻找解决方案,但找不到任何适合我的代码.我还是jQuery的新手.
我有两种不同类型的粘性菜单,用于两个不同的页面.这是两者的代码.
$(document).ready(function () {
var contentNav = $('.content-nav').offset().top;
var stickyNav = function () {
var scrollTop = $(window).scrollTop();
if (scrollTop > contentNav) {
$('.content-nav').addClass('content-nav-sticky');
} else {;
$('.content-nav').removeClass('content-nav-sticky')
}
};
stickyNav();
$(window).scroll(function () {
stickyNav();
});
});
$(document).ready(function () {
var stickyNavTop = $('.nav-map').offset().top;
// var contentNav = $('.content-nav').offset().top;
var stickyNav = function () {
var scrollTop = $(window).scrollTop();
if (scrollTop > stickyNavTop) {
$('.nav-map').addClass('sticky');
// $('.content-nav').addClass('sticky');
} else {
$('.nav-map').removeClass('sticky');
// $('.content-nav').removeClass('sticky')
}
};
stickyNav();
$(window).scroll(function () { …Run Code Online (Sandbox Code Playgroud) 我对 Javascript 和一般编程都很陌生,并且从一本名为Javascript Enlightenment (p.88)的书中看到了这段代码:
var parentFunction = function() {
var foo = 'foo';
return function() { // anonymous function being returned
console.log(foo); // logs 'foo'
}
}
// nestedFunction refers to the nested function returned from parentFunction
var nestedFunction = parentFunction();
nestedFunction(); /* logs foo because the returned function accesses foo
via the scope chain */
Run Code Online (Sandbox Code Playgroud)
为什么设置var nestedFunction = parentFunction();能够nestedFunction();调用嵌套匿名函数并将“foo”记录到控制台,而使用则根本parentFunction();不记录任何内容?