有人能在我的JS语法中发现错误吗?
function setSize() {
var headerHeight = $('#header-blue:visible').height();
var subHeight = $('.subhead:visible').height();
var totalHeight = headerHeight + subHeight;
console.log(totalHeight);
}
// Set height variables on load
$(document).ready(function () {
setSize();
});
// Set height variables on window resize
$(window).resize(totalHeight);
// Fixed header on scroll
$(function() {
var header = $(".subhead");
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= totalHeight) {
header.addClass(" fixed");
} else {
header.removeClass("fixed");
}
});
});
此处的目标是在达到滚动位置时设置类。滚动位置是可变的,因为它取决于2 div的高度,它在移动和桌面上发生变化。
不幸的是,我收到语法错误,说未定义totalHeight。
答案 0 :(得分:0)
变量totalHeight仅在函数setSize()的范围内,因此不能在函数外部使用。要解决这个问题,你必须使变量成为全局变量,例如在函数前声明它:
var totalHeight;
function setSize()
您还可以执行以下操作:
var totalHeight = function(){
//code of the function here and make it return the value
}