хорошо, поэтому я пришел к выводу!
я узнал, что есть два возможных способа достижения, чего я хотел. для меня работает только первый ... второй в моих настройках невозможен ...
######## 1-е решение ########
в моем случае, я хотел пропустить первую задержку твина ... так что я сделал, должен был изменить вторую анимацию, чтобы "+=0"
она всегда начиналась сразу после анимации раньше и позволяла первой анимации, как это было ...
вещь, которую я изменил, состояла в том, if(count>=1)
чтобы перезапустить график и искать желаемую позицию .... так что мой окончательный результат состоит в следующем:
sampleTimeline= new TimelineMax({paused: true,onComplete:restartSampleTimeline},0)
.to("#sampleblock",2,{x:"200px"},2)
.to("#sampleblock",2,{x:"0px"},"+=0");
var count = 0;
function restartSampleTimeline(){
$("#sampleblock").html(count);
count++;
if(count>=1){
sampleTimeline.restart();
sampleTimeline.seek(2);
}else{
sampleTimeline.restart();
}
}
sampleTimeline.play();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.0/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.0/TimelineMax.min.js"></script>
<div id="sampleblock">haha</div>
######## 2-е решение ########
к сожалению, это решение не работает в моем случае, но для будущей ссылки есть возможность, чтобы динамически изменять значение ... вы можете использовать функцию как параметр ... но, как я уже сказал в комментариях, эта функция получает называется только одно начальное время ... так что вы можете сделать, это восстановить временную шкалу ...
Ниже приведен пример, как добиться этого:
sampleTimeline= new TimelineMax({paused: true,onComplete:restartSampleTimeline},0)
.to("#sampleblock",2,{x:"200px"},returnDelay("first"))
.to("#sampleblock",2,{x:"0px"},"+=0");
var count = 0;
function restartSampleTimeline(){
$("#sampleblock").html(count);
count++;
if(count>=1){
sampleTimeline.clear();
sampleTimeline
.to("#sampleblock",2,{x:"200px"},returnDelay("not-first"))
.to("#sampleblock",2,{x:"0px"},"+=0");
sampleTimeline.play();
}else{
sampleTimeline.restart();
}
}
sampleTimeline.play();
function returnDelay(i){
if(i=="first"){
return 2;
}
if(i!="first"){
return 0;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.0/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.0/TimelineMax.min.js"></script>
<div id="sampleblock">haha</div>
надеюсь, это поможет некоторым людям с аналогичной проблемой в будущем :)