Как перечислить переменную в клике в jQuery?

Привет, я думаю, что это простой вопрос, но я не уверен, что я задаю его правильно для поиска. Я создаю subnav, что при нажатии прокрутки в нужное место на странице. Для этого я написал сценарий, который получает высоту выше, где я хочу прокручивать, сохраняет его как переменную, а затем прокручивает страницу на величину переменной, когда пользователь нажимает на subnav. Это шаблон, и верхний div изменяет высоту со страницы на страницу. Это отлично работает, пока я не начну разворачивать некоторые аккордеоны. Поскольку переменная определяется при загрузке страницы, она не учитывает разворачиваемые аккордеоны. Как заставить мой скрипт пересчитывать переменные каждый раз, когда пользователь нажимает кнопку.

Вот как я получаю переменную

var firstDivHeight = $(".pageStart").height()+250;

Этот код прикрепляется к subnav и прокручивает страницу до нужного места при нажатии. Когда эта кнопка нажата, я бы хотел, чтобы она пересчитала переменную.

$('.sbmOne').click(function() { $('html, body').animate({scrollTop: firstDivHeight}, 'slow'); return false; });
1 ответ

Просто поместите расчет в обработчик кликов, чтобы каждый раз пересчитывать его, прежде чем использовать его:

$('.sbmOne').click(function() { var firstDivHeight = $(".pageStart").height()+250; $('html, body').animate({scrollTop: firstDivHeight}, 'slow'); return false;
});

licensed under cc by-sa 3.0 with attribution.