【问题标题】:GSAP animation not working in tabbed menuGSAP 动画在选项卡式菜单中不起作用
【发布时间】:2016-05-20 05:47:02
【问题描述】:

所以我尝试使用 GSAP 为由相应按钮触发的元素设置动画。动画本身有效,但不是显示相应的元素,而是显示所有元素。我附上了working codepen here

var trigger = ".trigger";
var recipient = ".target";
var animation = new TimelineMax({reversed:true, paused:true});



$(trigger).click(function(e) {
  e.stopPropagation();
  recipient = '#' + $(this).attr('data-target-id');
  if($(trigger).hasClass("active")){
    $(trigger).not(this).removeClass("active");
  }

  if($(".target").hasClass("open")){
    $not_recipient = $(".target").not(recipient);
    $(".target").not(recipient).removeClass("open");
  }

  $(this).toggleClass("active");
  $(recipient).toggleClass("open");

  animation.fromTo(recipient, .3, {display:'none', y:'-100%', autoAlpha:0},{display:'block',y:'0%', autoAlpha:1, ease:Power1.easeOut});
  animation.reversed() ? animation.play() : animation.reverse();
 });

【问题讨论】:

标签: jquery gsap


【解决方案1】:

你不需要使用TimelineMax,你可以使用TweenMax

更新的js

var trigger = ".trigger";
var recipient = ".target";
var animation;


$(trigger).click(function(e) {
    e.stopPropagation();
    if(! $(this).hasClass('active')){
        var parentElm = $(this).parent();
        var targetChild = parentElm.find(recipient);

        $(trigger).removeClass('active');
        $(recipient).removeClass('open');

        $(this).addClass('active');
        targetChild.addClass('open');

        if(animation){
            animation.reverse();
        }
        animation = TweenMax.fromTo(targetChild, .3, {display:'none', y:'-100%', autoAlpha:0},{display:'block',y:'0%', autoAlpha:1, ease:Power1.easeOut});

    }

});

Updated Demo

【讨论】:

  • 基本功能在那里,是的,但是点击切换类的原因是如果用户再次按下触发器,元素会反转。此外,由于结构原因,html 以这种方式非常严格地组织 - 您的 codepen 已经移动了一些元素。
  • OP 使用了 TimelineMax,因此他不必在每次点击时都创建新的补间。在 GSAP 中,最好在事件处理程序之外创建时间线。然后只需简单地 play() 和 reverse() 动画。这样你就不会在每次点击时创建不必要的新补间,这有助于提高性能和 GC。 :)
猜你喜欢
  • 2015-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多