Jump to content
Search Community

How To Make labelToScroll Return Position At The End Of Label Tween Animation

Hashira

Go to solution Solved by Hashira,

Recommended Posts

Posted

Hi Guys, Please i need a help.

I am currently using the labelToScroll method to calculate the scroll position of a scrollTrigger timeline.

Now the issue i am having is that the labelToScroll seems to return a position that's relative to the start of the tween associated with the passed timeline label. I need  labelToScroll to work the same way but it should return a position that's relative to the end of the tween associated with the passed timeline label. I don't know if that makes sense.

I saw this helper function here but i am not sure on how to modify it to suit my needs.

function labelToScroll(timeline, label) {
  let st = timeline.scrollTrigger;
  return st.start + (st.end - st.start) * (timeline.labels[label] / timeline.duration());
}


Please any help will be appreciated, Thank you
 

  • Hashira changed the title to How To Make labelToScroll Return Position At The End Of Label Tween Animation
Posted

Without a minimal demo, it's very difficult to troubleshoot; the issue could be caused by CSS, markup, a third party library, a 3rd party script, etc. Would you please provide a very simple CodePen or Stackblitz that illustrates the issue? 

 

Please don't include your whole project. Just some colored <div> elements and the GSAP code is best. See if you can recreate the issue with as few dependencies as possible. Start minimal and then incrementally add code bit by bit until it breaks. Usually people solve their own issues during this process! If not, at least we have a reduced test case which greatly increases your chances of getting a relevant answer.

 

See the Pen aYYOdN by GreenSock (@GreenSock) on CodePen.

that loads all the plugins. Just click "fork" at the bottom right and make your minimal demo

 

Using a framework/library like React, Vue, Next, etc.? 

CodePen isn't always ideal for these tools, so here are some Stackblitz starter templates that you can fork and import the gsap-trial NPM package for using any of the bonus plugins: 

 

Please share the StackBlitz link directly to the file in question (where you've put the GSAP code) so we don't need to hunt through all the files. 

 

Once we see an isolated demo, we'll do our best to jump in and help with your GSAP-specific questions. 

  • 2 weeks later...
  • Solution
Posted

I have been able to resolve this issue on my own.

In my case, labelToScroll was retuning the position at the start of the tween because i was creating timline animation and label together like this.

 

tl.to(solution, { translateY: "0px" }, `solutionLabel`);



All I had to do was use the addLabel to insert it at the end

 

tl.to(solution, { translateY: "0px" }).addLabel(
`solutionLabel`,
">"
);

 

 

  • Like 1
Posted

Hi,

 

You can just use numbers and y like this:

tl.to(solution, { y: 0 });

Finally the difference between both codes is where the label is added, so in this case:

tl.to(solution, { y: 0 }, `solutionLabel`);

The label is added when the animation starts, but in this case:

tl.to(solution, { y: 0 })
  .addLabel(`solutionLabel`, ">");

The label is added after the animation has completed.

 

Hopefully this clear things up

Happy Tweening!

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...