Задать вопрос
@steklovatnik

Как в js дождаться выполнения scroll и после этого запустить следующую функцию?

Пожалуйста, не надо примеров с setTimeout))
При клике на ссылку экран мотается до якоря через window.scroll, насколько я понимаю, он работает асинхронно и мне нужно дождаться конкретно его завершения. Про промисы знаю, но не понимаю, как мне их тут прикрепить, мне же нечего вернуть в resolve.

Код:

menuLinks.forEach((link) => {
    link.onclick = (e) => {
      anchArr.forEach((anch) => {
        const position = elemPos(anch.elem);
        anch.top = position.elemTop;
        anch.bottom = position.elemBottom;
      });
        scrollControl(false); // блочу отслеживание прокрутки окна
        scrollTo(link.dataset.link); //перемещаюсь к якорю (используя  window.scroll)
        linkSwitch(link.dataset.link); // переключаю активную менюху
        scrollControl(); // запускаю отслеживание прокрутки снова, что бы меню переключались при скролле над якорями
   };
  });
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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