@senselessV7

Почему именно на последней ссылке меню вылетает ошибка?

Подскажите пожалуйста почему именно на последней ссылке меню вылетает ошибка?
Cannot read property 'top' of undefined

все остальные работают нормально!
Код в jsbin

p.s: уже как-то задавал тут вопрос, 1 причину нашел и исправил, но основная проблема так и осталась
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Потому что у вас два раза data-section="c" и ни одного data-section="i".
Вообще, логика очень простая:
  1. Ошибка Cannot read property 'top' of undefined.
  2. Следовательно, section.offset() возвращает undefined.
  3. Метод offset сам по себе должен работать нормально.
  4. Следовательно, скорее всего, проблема в переменной section.
  5. При каких условиях переменная section может иметь неверное значение?
  6. Когда на странице нет элементов с классом .section.
  7. Но остальные пункты работают, значит, дело не в этом.
  8. Тогда, фильтр по [data-section="' + dir + '"] работает неправильно.
  9. Какое значение имеет переменная dir?
  10. Ага, i. Значит, нужно проверить, если ли элемент с классом .section и атрибутом data-section, равным "i".
  11. Gotcha!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы