Пожалуйста, не надо примеров с 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(); // запускаю отслеживание прокрутки снова, что бы меню переключались при скролле над якорями
};
});