TtT RrR, всё из-за того, что вы поставили меню с отступом от левого края, и этот отступ надо учесть.
Для этого надо вычислить отступ следующим образом:
function onHoverMenuItem(element) {
const itemRect = element.getBoundingClientRect();
// вычисляем отступ родителя от левого края экрана
const parentLeft = element.parentElement.getBoundingClientRect().left;
// задаём позицию ползунка с учётом позиции родителя
hover.style.left = itemRect.left - padding - parentLeft + "px";
hover.style.width = itemRect.width - padding + "px";
}
Для этого надо вычислить отступ следующим образом: