#javascript #variables #scrolltop
#язык JavaScript #переменные #столешница для прокрутки
Вопрос:
У меня есть ряд дивов, которые сворачиваются и открываются, и я хотел бы, чтобы браузер прокручивал их до верхней части открытых дивов.
Я пытаюсь сделать это, используя привязанные ссылки и сохраняя привязанную ссылку в переменной «scrollClass», но мой код не работает. Однако, когда я тестирую журнал консоли, он выводит именно то, что я хочу, чтобы он выводил. Я не уверен, является ли это синтаксической ситуацией или нет.
Я был бы признателен за любую помощь, которую я могу здесь получить.
Заранее спасибо.
lt;scriptgt; $('.discover-btn-open, .discover-btn-open a').click(function(e) { e.preventDefault(); var currentElement = $(document.activeElement); var scrollClass = $(this).closest('.discover-inner').find('#discover- anchor').attr('href'); $(".discover-inner").removeClass("discover-inner-open"); $(this).closest(".discover-inner").addClass("discover-inner-open"); console.log(scrollClass); $('html, body').animate({scrollTop: $(scrollClass).offset().top - 100}, 450); }); $('.discover-close, .discover-close a').click(function(e) { e.preventDefault(); $(this).closest(".discover-inner").removeClass("discover-inner-open"); }); lt;/scriptgt;
Комментарии:
1. Может быть, войти
$(scrollClass).offset()
2. Не совсем понимаю, что ты имеешь в виду.
Ответ №1:
Вы устанавливаете атрибут href
scrollClass
, и когда вы пытаетесь использовать его в качестве элемента, он не будет работать. Попробуйте удалить attr("href")
деталь и использовать .offset
затем.
Вы также можете просто нажать на anchor
элемент, к которому хотите перейти, с помощью jQuery.
Комментарии:
1. Да, спасибо, это очень помогло. Получить координаты свитка сразу же было правильным решением.
2. var класс прокрутки = $(это).ближайший(‘.discover-внутренний’).смещение().верх; $(«html, тело»).анимация({scrollTop: класс прокрутки -100}, 450);
3. Классно! Рад, что у тебя все получилось