Omitting the parameter returns the current value (getter), whereas defining the parameter sets the value (setter) and returns the instance itself for easier chaining.
GreenSock Docs (HTML5/JS)
TimelineMax
.yoyo()
Gets or sets the timeline's yoyo state, where true causes the timeline to go back and forth, alternating backward and forward on each repeat.
Parameters
value: Boolean
(default = false
) — Omitting the parameter returns the current value (getter), whereas defining the parameter sets the value (setter) and returns the instance itself for easier chaining.
Returns : *

Details
Gets or sets the timeline's yoyo
state, where true
causes the timeline to go back and forth, alternating backward and forward on each repeat
. yoyo
works in conjunction with repeat
, where repeat
controls how many times the timeline repeats, and yoyo
controls whether or not each repeat alternates direction. So in order to make a timeline yoyo, you must set itsrepeat
to a non-zero value. Yoyo-ing, has no affect on the timeline's "reversed
" property. For example, if repeat
is 2 and yoyo
is false
, it will look like: start - 1 - 2 - 3 - 1 - 2 - 3 - 1 - 2 - 3 - end. But if yoyo
is true
, it will look like: start - 1 - 2 - 3 - 3 - 2 - 1 - 1 - 2 - 3 - end.
You can set the yoyo
property initially by passing yoyo:true
in the vars
parameter, like: new TimelineMax({repeat:1, yoyo:true});
This method serves as both a getter and setter. Omitting the parameter returns the current value (getter), whereas defining the parameter sets the value (setter) and returns the instance itself for easier chaining, like myTimeline.yoyo(true).repeat(3).timeScale(2).play(0.5);
var yoyo = myTimeline.yoyo(); //gets current yoyo state
myTimeline.yoyo( true ); //sets yoyo to true