我正试图让导航栏固定在正确的滚动位置。
我有一个#cover-section
元素,在它下面是一个可附加的导航栏。
#cover-section
元素可以调整大小。当它被调整大小时,我也希望修改粘贴偏移位置,但coverHeight
变量似乎没有更新。 coverHeight
值最初为0,始终保持为零。
如何在.resize()
函数范围内获取coverHeight变量来实际修改在事件范围之外声明的变量值?
$(document).ready(function() {
var coverHeight;
coverHeight = 0;
$(window).resize(function() {
$('#cover-section').height($(window).height() - $('#navbar').height());
return coverHeight = $('#cover-section').height();
});
$('.affixable-wrapper').height($('.affixable-wrapper > .affixable').height());
return $('.affixable-wrapper > .affixable').affix({
offset: coverHeight
});
});
答案 0 :(得分:0)
您没有将这些函数的值分配给coverHeight
变量。调整大小没有回报,如果确实没有,则不会将其返回任何内容。尝试
$(document).ready(function() {
var coverHeight = 0;
$(window).resize(function() {
$('#cover-section').height($(window).height() - $('#navbar').height());
coverHeight = $('#cover-section').height();
});
});
如果你只是绑定到大小调整火词,那么:
$(window).resize(function() {
$('.affixable-wrapper > .affixable').affix({
offset: $('#cover-section').height($(window).height() -
$('#navbar').height());
});
});
如果您只是在同一个功能中设置并调用它,则不需要coverHeight
var