Я пытаюсь назначить некоторые прокрутки для меню для моего приложения с одной страницей, идея этого скрипта - не допустить повторения одного и того же кода снова и снова, но это не совсем так, как я этого хочу.Невозможно отключить прослушиватели событий для пунктов меню
В основном происходит то, что destinations[i]
становится неопределенным, и поэтому я не могу получить доступ к нему .dest
. Когда я пытаюсь просто подключиться к журналу destinations[i]
, я получаю желаемый результат, но когда я затем нажимаю кнопки, я не могу прокрутить ни к чему, поскольку ничто не определено как значение .offset
.
Почему после цикла нет значения destinations[i]
и что я могу сделать, чтобы сделать эту работу по назначению?
var destinations = [
{class: '.home', dest: $('html, body')},
{class: '.lunch', dest: $('#menu-wrapper')},
{class: '.catering', dest: $('#catering-wrapper')},
{class: '.renting', dest: $('#renting-wrapper')},
{class: '.karaoke', dest: $('#karaoke-wrapper')},
{class: '.contact', dest: $('#site-footer')}
],
destLength = destinations.length,
i;
for (i = 0; i < destLength; i++) {
$(destinations[i].class + ' a').on('click', function() {
$('html, body').stop().animate({
scrollTop: destinations[i].dest.offset().top
}, 1000);
});
}
теперь работают, ура :) – Chrillewoodz