autoRemoveChildren

优质
小牛编辑
127浏览
2023-12-01

autoRemoveChildren: Boolean
如果autoRemoveChildren设置为true,则一旦子动画/时间轴完成,它们将自动被移除。 这通常是不可取的,因为子动画可以防止时间后退(如果您想要reverse()或将进度设置得更低等等)。但是,它可以提高速度和内存管理。
autoRemoveChildren的默认设置是:false(除了根时间轴)。

var tm = new TimelineMax({autoRemoveChildren:true});

autoRemoveChildren适用于TimelineMaxTimelineLite

autoRemoveChildren的参数

autoRemoveChildren 示例


    
.box {
    width:50px;
    height:50px;
    border-radius:6px;
    margin-top:4px;
  }
.green{
    background-color:#6fb936;
  }
#controls {
  position:absolute;
  width: 100%;
  bottom: 20px;
  text-align: center;
}
button {
  padding:10px;
  margin:0 5px;
}
myFunction = function(param){
  console.log(param.getChildren());
  panel= document.getElementById("panel");
  panel.innerHTML='移除了子动画,restart失效了';
}
var tm = new TimelineMax({autoRemoveChildren:true, onComplete: myFunction, onCompleteParams: ["{self}"]});
tm.to(".box", 3, {x:500})
restartBtn = document.getElementById("restart");
restartBtn.onclick = function(){
  tm.restart();
}

autoRemoveChildren返回值

autoRemoveChildren的补充说明