I have one soluction, but i'dont now if is the better, first i'm create one ler var for timeline e after create a "ResizeObserver", in observer the first line is for kill before "timeline" and i set the new "timeline" in the let var.
sorry for my bad english, if your speak portuguese has a translate in down.
Eu tenho uma solução, mas não sei se é a melhor, primeiro eu crio uma variavel do tipo let para a "timeline" e em seguida crio um "ResizeObserver", na primeira linha do observer, eu mato a "timeline" anterior e crio uma nova na mesma variavel, dessa forma sempre que atualizar a pagina em qualquer direção, ele vai recriar o "start" e o "end", mantendo sempre correto.
let timeline = null as gsap.core.Timeline | null
const resizeObserver = new ResizeObserver((entries) => {
if (timeline) timeline.kill()
timeline = gsap.timeline({
scrollTrigger: {
trigger: '.table',
start: "top top",
end: "bottom bottom",
scrub: 1,
pin: true,
// markers: true,
}
})
});
resizeObserver.observe(document.body);