Thanks for the responses! Not sure about using tweenTo. I don't want the intermediate steps to show but rather just jump to the corresponding label nd play. I tried adding the labels:
for (let i = 0; i < words.length; i++) {
let wordTL = gsap.timeline();
wordTL.from(words[i], { opacity:0 })
.add("label" + i)
.from(circles[i], {backgroundColor:'transparent'}, "<")
.to(words[i], { opacity:1, onComplete: getTextHeights})
.to(circles[i], {backgroundColor:'white'}, "<")
.to(words[i], { opacity:0}, "+=" + words[i].getAttribute('data-display-time'))
.to(circles[i], {backgroundColor:'transparent'}, "<")
tl.add(wordTL)
}
and then testing with a simple listener:
circle.addEventListener('click', function (event) {
console.log(event);
master.seek("label3", true);
})
but it is just jumping to beginning of timeline.