, так что im kinda new для javascript и jquery все еще так, что я застрял в этой маленькой проблеме. проблема здесь в переменной «currentId». эта переменная получает значение во время события прокрутки, но мне нужно, чтобы он оставался даже после того, как событие прокрутки прошло и было учтено во время следующего события прокрутки, когда оно только что вернулось к null или undefined.Стойкие переменные в jQuery
Может ли кто-нибудь указать мне в правильном направлении здесь? причина, которую я читал в течение дня, теперь хахаха.
$("#content").on("scroll resize", function(){ //on scroll
var pos=$("#frontpage").offset(); //take front page position in variable
$('.page').each(function(){ //for each div with a class of page
if(pos.top >= $(this).offset().top && pos.top < $(this).next().offset().top){ //if this divs position is in the correct range
if (currentId != $(this).attr('id')|| typeof currentId == 'undefined') { //if currentId Var is diffrent from this divs id or is undefined
var currentId = $(this).attr('id'); //set currentId Var to this divs id
$(this).addClass("foo"); //add class foo to this div
}else{
//Else do nothing
}; //endIfElse
}else{
$(this).removeClass("foo"); //Else remove the foo class from this div
}; //endIfElse
}); //end each
});
'$ currentId' имеет нулевое значение, это не имеет значения, так как из но –
Объявить переменную за пределами обработчика события. 'var currentId = ...; $ ('# content #). on (...); ' – millimoose
Также' typeof (foo) ===' undefined'' - это немного запаха кода, который должен был указывать на это решение. Вместо того, чтобы проверять, существует ли переменная, вы должны создать ее в соответствующей точке с некоторым начальным значением ** до **, это необходимо. – millimoose