Я подозреваю, что я могу неправильно использовать обработчики событий здесь.Может кто-нибудь указать мне правильный / лучший способ сделать это?
По сути, я отслеживаю событие window.resize.Если окно меньше, чем экранный элемент, я привязываюсь к событию прокрутки.Моя проблема в том, что событие resize генерируется постоянно.Я думаю, это означает, что я постоянно возвращаюсь к событию прокрутки.Это кажется плохим.Мысли о лучшем способе сделать это?
Я мог бы использовать переменную для отслеживания того, связана ли она уже или нет ... но мне это кажется неуклюжим.
//when window is resized check whether the sidebar still fits on screen
$(window).resize(checkIt);
function checkIt() {
botOfSidebar = $(obj).height() + topOfSidebar;
if (botOfSidebar < $(window).height()) {
//discard event handler
$(window).unbind("scroll", dynamicallyAdjustIt);
fixIt(); //fix it in place
}
else {
console.log("dynamically adjust it");
$(window).scroll(dynamicallyAdjustIt);
}
}