Jump to content

_Greg _

  • Posts

  • Joined

  • Last visited

Everything posted by _Greg _

  1. Hi! Did you try to use onReverseComplete same way like you use onComplete(but for hide div)
  2. Hi You can do same thing with ScrollTrigger, check official demos https://greensock.com/st-demos/ If you need more specific answer, please create minimal demo
  3. Hi! You can create job in https://greensock.com/forums/forum/15-jobs-freelance/ please read the rules before
  4. you need to declare tl outside of a function, something like: ... //your code gsap.registerPlugin(ScrollTrigger); let targets = document.querySelectorAll("h2"); let tl = [] // declarate like array ... targets.forEach((target, index) => { tl[index] = gsap.to(target, { x: 100, scrollTrigger: { trigger: target, markers: true, start: "bottom center" } }); }); ... //After you can get and kill every tl tl.forEach(timeline=>...) Or you can add id and after getbyid (but you still need list of all ids)
  5. Please create a minimal demo. This is hard to see what happened without demo. Did you see triggers are in the right place if you use markers: true? Are you sure that you need to use onLeaveBack not onLeave?
  6. Hi!. You need to call recalculate ScrollTrigger after resizing with ScrollTrigger.refresh()
  7. Hi! There is hard to understand without minimal demo.
  8. Hi! I didn't see any gsap animations in your codepen, its svg animation. Please create a minimal demo You can check DrawSVG Demos, MotionPath Plugin, Also check Object Along MotionPath demo
  9. Hi and wellcome. This is not css properties autoAlpha - will be converted to opacity and visibility, rotationX will be converted to transform: rotateX.. check 2D and 3d transforms So you need just write like: tl.from(this.$refs.plate, { autoAlpha: 0, rotationY: -26, rotationX: 72, rotationZ: 5, },2) What do mean to specify 2 for this.$refs.plate, this is something like delay? What do you expect? UPD: SVG doesn't allow 3D transforms, please check this topic
  10. Hi Petr. I'm not sure does it important snippets but if you add .set, maybe add .quickSetter gsap.quickSetter("element", "propName") Also maybe add some plugins like ScrollTrigger: ScrollTrigger.create({ trigger: selector, start: "position", end: "position", }) Draggable.create(selector,{props}) var split = new SplitText(selectors); Also maybe add registration plugin gsap.registerPlugin(pluginName); Or maybe utils gsap.utils.UtilName(UtilProperty) This is just ideas.
  11. Hi! Please create a minimal demo You can find many examples in ScrollTrigger Demos page
  12. Without a minimal demo very hard to say whats wrong If you want create demo with React you can use codesandbox The presented code is not enough to understand what the problem is
  13. Hi! ScrollTrigger is working fine with .from() you can check it in demo Please create a minimal demo
  14. Hi! Please create a minimal demo Buy the way, ScrollTrigger does not have any property with name target, cssRule plugin was deprecated and autoAlpha or scaleX is not css rule. You need something like gsap.to(docImgAfter,{ duration:1.2, scrollTrigger:{ markers:true, trigger:docImgAfter, start:"top center", toggleActions:"restart none none none" }, scaleX:0, ease:"Power1.out" }) gsap.to(docImgBefore,{ duration:1.2, scrollTrigger:{ trigger:docImgAfter, start:"top center", toggleActions:"restart none none none" }, x:-60, autoAlpha:1, ease:"Power1.out" })
  15. This issue not with GSAP or Draggable. As i understand, please correct me if i'm wrong You create global variables (without declaration) so on every interation you rewrite it Read about closure And about scoping rules for let You create variable in window (window.scrollGroupID) not inside function, if you declared variable let scrollGroupID you create scoped variable https://codepen.io/gregOnCodePen/pen/MWOezVZ?editors=0011
  16. You need refresh ScrollTrigger every time whan you load/unload/change something in the DOM part where did you use ScrollTrigger. If some DOM element where did you use ScrollTrigger change position, size... etc you need to call ScrollTrigger.refresh() for recalculate positions and sizes of DOM elements. If you refresh via Timeout you just doing useless calculations.
  17. Hi! I think this is bad idea to create Draggable every time on resize, better on resize check is Draggable was created - then .update(), else -.create() If you use resize event on mobile, it will be fired every time when browser adress bar is hidden or showed (scroll up / scroll down page) Also you can use optimizedResize (based on requestAnimationFrame + customEvent) check MDN russian version examples part (did't find on english version MDN site)
  18. Hi! you need to refresh ScrollTrigger after css animation was finished. Check ScrollTrigger.refresh() Also i add markers: true to display result of refresh (just for debug) Also pin: true is the same like pin: ".pinned-section", by default pin pinning trigger element https://codepen.io/gregOnCodePen/pen/zYPxerO?editors=0010
  19. VIdeo file is not opened UPD: i can't check it on mobile safari
  20. offtopic: In codepen you can upload you files only on PRO Plans, or you can use external images or imagegenerators (example, example, example) and just focused on code If you need specific images or it doesn’t work with these images, but everything works with others, then you can use codesandbox
  21. I talk about event, not init. You can init carousel but didn't get callback does it init or not. In my example you have 2 animations - after start (slide.bs.carousel event) and before end (function animationOut) you can place different animations there. I think, I don't quite understand you. If you want listener for class was changed, you can use something like MutationObserver with property attributes: true With bootstrap carousel you have only 2 event callbacks slide.bs.carousel and slid.bs.carousel
  22. Hi! What did you try? I think maybe this can help you https://codepen.io/gregOnCodePen/pen/XWzrMGX?editors=0010 I didn't find init event on bootstrap carousel so you need something like DOMContentLoaded or window load I don't know why did gsap.delayedCall is not working on my answer so i use setTimeout UPD: I see some issue with last slide (on repeat). I think better use something like swiperjs with normal API or creat your own slider. I can't find onloop, init, beforeinit, afterinit, beforechange, afterchange Events on bootstrap carousel
  23. You use event slideChangeTransitionStart so it works only on slide changed (next, prev) Check Swiper documentation Events You need to use Events like init or afterInit or beforeInit, (if you create minimal example it was more clear) for animate first slide
  24. Sure, you can rewrite it with gsap 3, check migration guide The similar examples you can find by chosing filter by Technologies on awwwards site, chose Barba.js, GSAP Animation, Highway.js... filters