Share Posted November 8, 2019 Hi I'm new to gsap and I'm still learning how everything works. Right now I'm looking for a way to implement a gsap version of jQuery's slideUp/slideDown functionality. Sliding up is easy: just reduce the height of the div to 0. But sliding down is more tricky: when the div starts in its "slid up" state (so with a height of 0, and not having been opened yet), I don't know what its final height should be. Setting the height to "auto" opens the div, but it does so in one go, not gradually (it is not a numeric value that can be changed one px at a time). What would be the best way to tackle this? Right now I'm thinking about cloning the div, displaying it off-screen (negative margin or position), opening it, getting the height, and then applying that to the original div. Since this feels like a "hack", I thought I'd first ask you if there is a better way. EDIT: in the codepen, just press the "slide" button to see the div slide open and back. Thanks! See the Pen ZEERpyY by Bakke76 (@Bakke76) on CodePen Link to comment Share on other sites More sharing options...
Share Posted November 8, 2019 Hey Bakke and welcome to the GreenSock forums. This is actually a fairly common question. The trick is to .set() the element's height to "auto" (so that you can get the real height) and then immediately after that use a .from() tween with a height of 0. That way it will animate from 0 to that height of "auto" In your demo it would look like this: See the Pen yLLEgeK?editors=0010 by GreenSock (@GreenSock) on CodePen Check out this thread or others on the forum for more implementation ideas: See the Pen Bzhji by GreenSock (@GreenSock) on CodePen 1 Link to comment Share on other sites More sharing options...
Author Share Posted November 8, 2019 Works like a charm Thanks!!! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now