При скролле страницы вниз/вверх блок справа aside (виджеты) резко прыгает вверх/вниз из-за того что меняется прилегание justify-start на justify-end и наоборот. Добавил промежуточное состояние static, теперь когда доскролится до маркера, устанавливается sticky обратно, но я не понимаю какое нужно задать значение в translate3d, чтобы блок не улетал за пределы экрана. В демо я добавил комментарий в нужной строчке JS.
Демо:
https://codepen.io/blyaa/pen/KKjBpya
Вот референс по которому пытался сделать
https://journal.tinkoff.ru
Там в translate3d подставляется значение близкое похожее к window.scrollY, но как оно высчитывается не понимаю.
Суть блока: он скролится вниз/верх при скроле страницы, и остается прилеплен к низу экрана или к верху, в зависимости от направления скрола. Блок должен сразу скролится, не дожидаясь прокрутки до конца страницы/начала. Поэтому идет смена justify-start и justify-end.