Возможно, у вас есть какой-то другой код или сторонний скрипт, который вызывает прокрутку обратно наверх после вашего события прокрутки. Для решения этой проблемы я рекомендую следующее:
Убедитесь, что у вас нет других скриптов или плагинов, которые могут вызывать прокрутку страницы. Временно отключите их, чтобы проверить, не они ли вызывают такое поведение.
Используйте setTimeout для добавления небольшой задержки перед выполнением прокрутки. Это может помочь, если другой скрипт выполняет прокрутку после вашего события прокрутки.
window.onload = function() {
setTimeout(function() {
window.scrollTo({
top: 100,
left: 0,
behavior: "smooth"
});
}, 500); // Задержка в 500 миллисекунд
};
Вы можете попробовать использовать стек вызовов для поиска места, где вызывается лишняя прокрутка.
window.addEventListener("scroll", function() {
console.log("Прокрутка вызвана", new Date().getTime());
console.trace(); // Вывод стека вызовов
});