Точно никто не расскажет как это делать, тут большой скрипт. Длинный блок со sticky контентом внутри. Отслеживает точки скролла и на этих точках запускает замену изображения и меняет контент. При нажатии на кнопки, происходит скролл до точки и по достижению срабатывает скрипт изменения контента и блока. Я бы сделал с помощью Intersection Observer отслеживание скролла до точек и обычную замену по индексу точки. Дошли до третьей, вызываем скрипт смены на третьей точке. Высоту главного блока задаем где-то 200-300vh, в зависимости сколько скролить нужно будет, и создаем три блока нужной высоты, при которых будет происходить смена)
Надеюсь ты что то поймешь, из того что я написал, если ты начинающий программист, то пока не лезь в это :)