Jump to content

PointC last won the day on May 26

PointC had the most liked content!


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by PointC

  1. Hi cwiens@shutterfly.com I'm not sure if you have a typo in your question or that's the actual code you're using, but thought I'd look at the obvious first: //you have var mainTimeline = new TimelineMax(repeat:2, repeatDelay:20); // but it should be var mainTimeline = new TimelineMax({repeat:2, repeatDelay:20}); Other than that, I'd have to see a CodePen to be of any help. Happy tweening.
  2. Yeah, it's not always obvious that you need that file and it seems hard to find sometimes. It's used to trigger tweens or sync them to the scrollbar. You are correct - it is a ScrollMagic file. Here are the docs. http://scrollmagic.io/docs/animation.GSAP.html Happy tweening.
  3. I still didn't see the morphSVG plugin in your demo so you need to add that and you'll need one additional file as well. Click the little gear icon on the JS panel and add each of these to your demo and it all should work correctly. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/MorphSVGPlugin.min.js https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/animation.gsap.js Note: you may have to add some margin below the SVG so the trigger can be reached on scroll. Hopefully that helps.
  4. Hi samsam Welcome to the GS forums. Your pen isn't loading the Draggable plugin. It might be easiest for you to fork this GreenSock pen: http://codepen.io/GreenSock/pen/OPqpRJ It loads everything including the member plugins so you can give them a test drive. Just an FYI - you don't need the head elements or body tag on CodePen - it takes care of that for you and the JavaScript should go in the JS panel down below. Hopefully that gets you started. Happy tweening and welcome aboard.
  5. Hi jeansandjacktrequired Welcome to the GreenSock forums. This sounds like a good job for the staggerTo() method: http://greensock.com/docs/#/HTML5/Sequencing/TimelineMax/staggerTo/ You can give all of your images or divs the same class and then easily stagger them on and off screen. By using the same class for all of them you avoid all the additional variables and you can add/remove images without having to make any changes to the animation. I made a really simple pen so you can see how this could work for you: http://codepen.io/PointC/pen/XKMbzY/ Hopefully that helps. If you have any additional question, please make a simple CodePen for us so we can more quickly find the problem and/or offer suggestions. Here's how to make a CodePen demo: http://greensock.com/forums/topic/9002-read-this-first-how-to-create-a-codepen-demo/ Happy tweening and welcome aboard.
  6. Hi Ritch.b You've got a few things to correct here. First, the morph plugin isn't loaded in your pen. You can load the CodePen version with this link: https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/MorphSVGPlugin.min.js The next problem is setting up your timeline: //switch this var menurb = new TweenMax(); //to this var menurb = new TimelineMax(); If you make those changes, you will see a morph-like animation, but I don't think this will give you the results you're probably looking to achieve. Your #combine path is an exact copy of the other two groups only with a black fill instead of blue. The other two groups are made up of 10+ paths with classes of .st0 and .st1. You're animating each of those little paths into your #combine path so this isn't ideal. As I mentioned, you'll see a something happening, but it looks more like a jumbled blob than an actual morph. MorphSVG works path to path so you want a corresponding end path for each start path to get a nice animation. Your SVG is a bit confusing too. You've got classes of .st0 and .st1 as well as group IDs of #st0 and #st1 so it's a bit hard to follow. The .st0 class is also applied to the #combine path and then you're morphing the .sto and .st1 class into the #combine path so it's trying to morph into itself. I'd recommend using more meaningful names to make your work a bit easier. I know AI spits out SVGs with generic names like that, but you can fix them manually. With the two start groups having the same shape as the combined end path, I'm not sure what the desired end result is here either. Hopefully this helps a little bit. I'd offer more, but I'm not 100% sure what you're trying to make happen here. Happy morphing.
  7. Hi ErraticFox Welcome to the GreenSock forums. It's a bit difficult to say what the problem might be without seeing some code. To get you the best answers, we ask that you create a CodePen demo for us. Please follow the link below to see about doing that. http://greensock.com/forums/topic/9002-read-this-first-how-to-create-a-codepen-demo/ Once you have that available, everyone around here will be happy to assist you. Happy tweening.
  8. Hi iamacatperson The easiest way to make that happen is by adding a delay to the timeline: tlAnim = new TimelineMax({paused:true, delay:0.5}); Happy tweening.
  9. Hi Vector You can force the tweens to initially render and record everything by jumping to the end of your timeline and then immediately back to the beginning. Once you've created your timeline, you can just do this: tl.progress(1).progress(0); That should get everything ready for you and eliminate that first run stutter that you mentioned. Hopefully that helps. Happy tweening.
  10. Hi Dimotro Welcome to the GreenSock forums. That's happening because you have your fill initially set to none in your CSS. So the tween didn't really having a starting point for the color fade in. You can fix that by setting your fill to transparent in your CSS and it should work just fine for you. //switch this .st5{fill:none;stroke:#E0B03B;stroke-miterlimit:10;} // to this .st5{fill:transparent;stroke:#E0B03B;stroke-miterlimit:10;} Hopefully that helps. Happy tweening.
  11. Hey Dipscom You just need a slight change to get the expected behavior: // switch this tl.add("Start") .add(tl1, "Start") .add(tl2, "Start") //to this tl.add("Start") .add(tl1(), "Start") .add(tl2(), "Start")
  12. This thread has taken an unusual turn. What is happening here? I'm amused and confused. I'll be in my lab inventing a time travel machine so I can somehow warn myself not to look at that picture.
  13. Hi Visual-Q Sounds like you're looking for onCompleteParams. From the docs: onCompleteParams : Array - An Array of parameters to pass the onComplete function. For example,TweenLite.to(element, 1, {left:"100px", onComplete:myFunction, onCompleteParams:[element, "param2"]}); To self-reference the tween instance itself in one of the parameters, use "{self}", like:onCompleteParams:["{self}", "param2"] // this should work for you var titleTextAnimation = new TimelineMax( {onComplete:removeElement, onCompleteParams:[animationContainer]}); Hopefully that helps a bit. Happy tweening.
  14. Hi Art2B Have you tried setting force3D to false? Please see if this works for you: TweenMax.to('.holder', 2, {scale: 3, top: 250, left: 300, ease: Power4.easeOut, force3D:false}) More info about force3D: http://greensock.com/docs/#/HTML5/GSAP/Plugins/CSSPlugin/ Happy tweening.
  15. A GSAP tale: One goofy guy’s odyssey from knowing nothing to knowing just enough to confuse himself. (This is crazy long so feel free to jump to the epic conclusion). Greetings fellow GreenSockers. The end of this week marks the one-year anniversary of my first post on the forum so I thought I’d take the opportunity to share my 12-month story and hopefully encourage others to jump into the conversations around here. Maybe you’ll recognize yourself in some of the things I’ve experienced. My quick history in a nutshell Web design and coding is a second career for me. After 15 years of owning and operating a photography studio and processing lab (back in the film days - yup - I’m old), the digital camera came along and changed that industry, which necessitated a new career for me. I shifted to video production, which led to motion graphics and finally to web design. Our little agency now offers all those services. The web design clients never needed anything fancy so JavaScript took a back seat to HTML & CSS only sites for a number of years. JavaScript & GSAP: false starts and other obligations I first discovered GSAP a few years ago, but only tried it briefly. It looked cool, but with the time obligations of field video work and motion graphics jobs, it wasn’t something I could work into the schedule. Besides that, it was JavaScript – too complicated I thought. I knew JavaScript was the third piece of a good web designer’s skillset along with HTML and CSS, but I always convinced myself that I didn’t have the time and the sites we built didn’t need it. JavaScript Books + Classes = Fail I did make a few attempts at reading some JavaScript books and working through some online tutorials, but it just never ‘stuck’. Maybe the examples were too theoretical and dry or they were the wrong books and classes. I really don’t know, but I abandoned the learning process a number of times. Cut and Paste mentality Why did I really need to learn anyway? You can just Google what you need, cut and paste some code and presto – you’ve got some working JavaScript or jQuery. I only understood a small portion of what I was cutting and pasting, but hey… it worked so the problem was solved. That’s how I operated for quite some time. What’s a loop? What’s an array? What’s an object? Who cares? Wait a minute. This is ridiculous. Last spring, I was remodeling our company website and I had all these grand visions about making things move and behave in certain ways. Googling for code just wasn’t cutting it. I suddenly felt stupid. “This is ridiculous!” I thought. I should be able to learn how to write my own code. Oh yeah, I remembered that GreenSock thing I had looked at a few times and abandoned. That might work. Maybe I could actually learn how to use it this time. I become a forum lurker I started lurking in the shadows of the forum. After reading a lot of posts, I saw people asking many types of questions from simple to crazy complicated (at least to me). Two things I noticed were that every effort was made to find an answer (no matter the difficulty level of the question) and not one post was condescending or snarky. That’s quite rare on the ol’ interwebs, isn’t it? Hmmmm…maybe I’m in the right place. Oh boy… time to ask a question of my own One of the great things about learning GSAP is you’ll also pick up a lot of other JavaScript and/or jQuery along the way. I kept reading and practicing with some simple tweens, but now I had a question. Dare I post? I suppose, like many others, I feared looking like an idiot even though the forum members and moderators seemed quite nice and helpful. I do several dumb things every day so you’d think I’d be used to it by now. Oh well, here goes. My first question had to do with the indexOf() a Draggable snap array. Within 30 minutes, Diaco and Rodrigo had posted great answers and neither one called me stupid! Yay – how cool. I get hooked on GSAP and the forum About that same time, I decided our company should discontinue on-site video production and switch to studio only filming. I got tired of lugging loads of video gear in and out of buildings – it’s quite tiring and as I mentioned earlier – I’m old. This freed up some time and I decided to dedicate that time to learning GSAP and maybe, one day, even helping others. It wasn’t too long and I actually knew the answer to a forum question. I posted some information and wow – a little red indicator lit up on my control panel. Someone liked something I wrote. How fun – I’m hooked. Carl makes direct contact I continued to learn and experiment. I posted a few additional questions of my own, but I tried to answer more than I asked. If someone posted a question for which I had no answer, I tried to look it up in the docs and figure it out. Most of the time I was far too slow and Jack, Carl or one of the mods would already have the answer posted before I was done reading the question, but it was an interesting way to learn. I did sneak in a few good answers, which led to a private message from Carl. He thanked me for participating and helping in the forums. I thought it was pretty cool that a super smart guy like Professor Schooff would take the time to do that for little ol’ me. My decision to dedicate time to the platform and forum was reinforced. http://i.imgur.com/hdaB73Y.jpg Blake and I have a conversation I don’t recall if it was a back and forth in a forum post or a private message conversation, but Blake told me something that, of course is obvious, but it stuck with me and is important for all of us to remember. He mentioned that we all enter this learning process knowing nothing. If someone of Blake’s considerable skill level can be humble enough to remember first starting out in code, there may be hope for me after all. I guess if you think about it, there was a time when the simple concept of a variable was brand new to all of us. We’re not born with these abilities. They’re learned and we’re all at different points on the educational path. Never feel stupid for not knowing something. Moderator Promotion Throughout the last year, I’ve continued to learn and study both GSAP and JavaScript. Some of those books I abandoned in the past even make sense now. I’ve tried to be active in the GS community and answer as many forum questions as possible. If I’ve answered a question of yours, I hope you found it somewhat helpful. I’ve cranked out some fun CodePens and finally started a Twitter account to tweet them out. I am nowhere near an expert with GSAP or JavaScript, but I know so much more than I knew a year ago. Apparently I know enough to be entrusted with a forum promotion to Moderator status. I’m honored to be included on such an amazing team. 12 months down – what’s next? My agency duties are still numerous so I can’t dedicate full time to coding, but it remains something to which I’m committed and thoroughly enjoy. I started this 12-month GSAP journey just wanting the ability to write my own code rather than cutting and pasting the work of others. I’m confident I have achieved that, but I still have days when a simple piece of code just won’t coalesce in my brain and that can be frustrating. I guess we all have those days, right? I make several mistakes every day, but that’s o.k. too. I learn a lot more from my screw-ups than I ever do when it all goes right on the first try. I plan to keep learning and getting better and when I get stuck, I’ll be able to get an answer from this amazing community. I’ll continue to give back to the GS community by answering any questions that are within my abilities to do so. The super mods: Jonathan, Blake, Diaco and Rodrigo Thank you to my fellow moderators. You guys rock and have taught me so much. @Jonathan – if there is a browser bug, quirk or special fix that you are not aware of, I’ve yet to read about it. Your knowledge has helped me fix many pieces of code before they even became a problem. Plus, if I ever have a question of top/left vs. x/y, I know who I’ll ask. @Blake – if I could be half as good at coding as you, I’d be a very happy guy. Your work always teaches and inspires me. I don’t think you’re allowed to ever stop posting on the forum or we may all show up on your doorstep and ask questions. @Diaco – your code is always so concise. I deconstruct some of your pens and am astounded by how much you squeeze out of a few lines. If I made some of your pens from scratch, I’d have 20 variables, 5 loops, 12 tweens and 80 lines of code. You do the same with two variables and 4 lines of code. Amazing stuff. @Rodrigo – when searching the forum, I often land on one of your past posts and learn a lot. Your knowledge is vast and I wish you had more time to post around here. Your ninja skills are incredibly strong. Our superhero leaders @Carl – I’ve participated in several online forums ranging from graphic design to 3D to video production, but the GreenSock forum is the best and a big part of that is you. You not only provide great answers, but you do it in clever ways with just the right amount of humor thrown in here and there. The collection of videos you’ve made is invaluable and should be mandatory viewing for anyone interested in GSAP. I’ve seen you monitoring the forums at all hours of the day and even on weekends. When you get any sleep I’ll never know, but I thank you for your dedication and sharing your knowledge. @Jack – how you had the vision to start GreenSock and write the first version of the animation platform I can only imagine. I’m glad you did because GSAP is such an amazing collection of tools. The friendliness of the community is definitely following your lead. I don’t understand a lot of what you talk about sometimes, but I know enough to be amazed by your brilliance and talent. You call yourself just a guy who geeks out about code, but you’re more than that. You’re a smart and generous innovator who’s created a special brand and place on the web. I think I can safely speak for the community when I say we all appreciate the time and effort you put into helping us make beautiful and high-performance animations. Thank you sir. The epic conclusion. Well… maybe just a regular conclusion. If you didn’t read the whole post, I don’t blame you. It’s ridiculously long and I’m just some guy you don’t know so I’ll wrap it up with this bit of advice. Whether you’re a genius or feel like an idiot, it doesn’t matter. Try to learn one new thing each day and before you know it, a year will have passed and all those little bits will add up to new skills and abilities. If you’ve never posted on the forum, please jump in and participate. The more voices we have around here, the more we all benefit. If you need an answer, please don’t be afraid to ask a question. Believe me, I’m just some goofy guy in front of a computer. If I can learn this stuff, so can you. As I begin my second year in GreenSockLand, I’m looking forward to learning more, seeing everyone’s work and answering as many of your questions as I can. This is an amazing community and I encourage anyone reading this to set up an account and get involved. My best to all of my fellow GreenSockers. See you around the forums. Edit and Update (July 2020): I just made it to five years of hanging around the forum and you can read the continuation of my journey here. motiontricks.com Finally, without further ado, I introduce you to motiontricks.com - Craig (PointC) PS I made a little CodePen to commemorate my one-year forum anniversary. It’s how I felt before and after discovering the power of GSAP. Enjoy.
  16. PointC


    Hi dyna1118 Your pen wasn't applying the CSS because there was a stray <style> tag in the 'Stuff for the Head' panel. You had this: <script src='http://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.2/TweenMax.min.js'></script> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js'></script><style> // this was the problem <script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.4/plugins/CSSPlugin.min.js"></script> The easiest way to load JavaScript on CodePen is to click the little gear icon on that panel and load what you need from there. You also don't need to load the CSS plugin as it's already loaded with TweenMax. Happy tweening.
  17. PointC

    Swinging Rope ?

    As Carl mentioned, you've got an old file loading and it's still there. <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.11.7/TweenMax.min.js"></script> // remove this You also still have all the extras in the HTML panel. You don't need the body tag or head elements. All you need is this: <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="21.7px" height="206.7px" viewBox="0 0 21.7 206.7" xml:space="preserve"> <style type="text/css"> .sqone{fill:#3E53A4;stroke:#000000;stroke-width:2;stroke-miterlimit:10;} </style> <rect class="sqone" x="1" y="1" width="19.7" height="204.7"/> </svg> Make those changes or fork Carl's pen and everything will work just fine.
  18. Hi qarlo I think this thread can answer your question: http://greensock.com/forums/topic/14323-speed-of-responsive-animation/ Happy tweening.
  19. Nope - GSAP is not dependent on jQuery at all. You can remove it. The reason your code is breaking when you remove it is because your hide & show functions are relying on jQuery to check the width. You can change those to vanilla JavaScript like this: // change this if ($(document).width() > 933) // to this if (document.body.clientWidth >933) If you're trying to get away from jQuery, here's a website you may find useful: http://youmightnotneedjquery.com/ Happy tweening.
  20. Wow! Now that's a solution. And that fellow forum members is one of the big reasons why GreenSock is such a special company and GSAP is an amazing platform. I cannot imagine that kind of service and attention anywhere but here. Not that you have to be a Club member to get answers here in the forum, but it's not a mystery why so many people choose to join Club GreenSock and get access to the incredible bonus plugins. Well done Jack.
  21. Hi Aleksei Welcome to the forums. Unless 'none' is a variable, there is a slight error in your set() code. You'd want: TweenMax.set("."+type, {display:"none"}); In this case though, I think autoAlpha could work well for you. It's a combination of opacity and visibility. Once opacity hits 0, the element is automatically set to visibility:hidden. It's quite handy for this type of situation. TweenMax.to(".plate", .3, {autoAlpha: 0}); You can read more about autoAlpha here: http://greensock.com/docs/#/HTML5/GSAP/Plugins/CSSPlugin/ There is a search button on the upper right. Just click the little magnifying glass and you can search for whatever you need. Hopefully this info helps a bit. Happy tweening.
  22. Hi d1ch0t0my If I set force3D to false, it seems fine to me in Chrome. Please give this a try: tlmenu.fromTo(menubox, 10, {scale:1, transformOrigin:"50% 50%"}, {scale:30, transformOrigin:"50% 50%", force3D:false}); More info about force3D can be found here: http://greensock.com/docs/#/HTML5/GSAP/Plugins/CSSPlugin/ Happy tweening
  23. I add a 'back to top' button to a lot of my sites and this is one of those effects that would be better with a single tween rather than a timeline. You won't have to worry about seeking and replaying a timeline. I'd just switch the action in your click function to a tween: TweenLite.to(window, 1, {scrollTo:{y:0}, ease:Power2.easeInOut}); Hopefully that helps. Happy scrolling.
  24. That is great Blake! I just wanted to take a moment and thank you for hanging out here on the forum. I can honestly say I've learned just as much (if not more) by reading your posts and deconstructing your pens than I have by reading books and viewing online tutorials. You are truly an amazingly talented coding rock star and we're lucky to have you as an inspirational teacher around here. Thank you Blake.
  25. Hi TELLO Welcome to the GreenSock forums. I think rather than trying to change the duration on click, this would be a really good chance to change the timeScale(). Here's a quick pen showing this option in action: http://codepen.io/PointC/pen/VjaXYd/ Here's some reading about timeScale() http://greensock.com/docs/#/HTML5/GSAP/TimelineMax/timeScale/ Hopefully that helps a little bit. Happy tweening.