Почему при работе с скроллом пишут элементу, который должен скроллиться position:absolute; и меняют ему значения top или left, а не используют к примеру elem.scrollBy(x, y).
Наверно сложно понять, вот примеры сайтов(загляните в код и увидете меняюшиеся значения top и left).
http://demo.select-themes.com/capri12/
https://www.pixxelfactory.net/jInvertScroll/
К примеру со скроллом.
https://jsfiddle.net/kcewxf6p/
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости