MCPcopy
hub / github.com/greensock/GSAP / _initTween

Function _initTween

esm/gsap-core.js:2849–3023  ·  view source on GitHub ↗
(tween, time, tTime)

Source from the content-addressed store, hash-verified

2847 //store a reference temporarily so we can avoid overwriting itself.
2848_forceAllPropTweens,
2849 _initTween = function _initTween(tween, time, tTime) {
2850 var vars = tween.vars,
2851 ease = vars.ease,
2852 startAt = vars.startAt,
2853 immediateRender = vars.immediateRender,
2854 lazy = vars.lazy,
2855 onUpdate = vars.onUpdate,
2856 runBackwards = vars.runBackwards,
2857 yoyoEase = vars.yoyoEase,
2858 keyframes = vars.keyframes,
2859 autoRevert = vars.autoRevert,
2860 dur = tween._dur,
2861 prevStartAt = tween._startAt,
2862 targets = tween._targets,
2863 parent = tween.parent,
2864 fullTargets = parent && parent.data === "nested" ? parent.vars.targets : targets,
2865 autoOverwrite = tween._overwrite === "auto" && !_suppressOverwrites,
2866 tl = tween.timeline,
2867 reverseEase = vars.easeReverse || yoyoEase,
2868 cleanVars,
2869 i,
2870 p,
2871 pt,
2872 target,
2873 hasPriority,
2874 gsData,
2875 harness,
2876 plugin,
2877 ptLookup,
2878 index,
2879 harnessVars,
2880 overwritten;
2881 tl && (!keyframes || !ease) && (ease = "none");
2882 tween._ease = _parseEase(ease, _defaults.ease);
2883 tween._rEase = reverseEase && (_parseEase(reverseEase) || tween._ease);
2884 tween._from = !tl && !!vars.runBackwards; //nested timelines should never run backwards - the backwards-ness is in the child tweens.
2885
2886 if (tween._from) tween.ratio = 1;
2887
2888 if (!tl || keyframes && !vars.stagger) {
2889 //if there's an internal timeline, skip all the parsing because we passed that task down the chain.
2890 harness = targets[0] ? _getCache(targets[0]).harness : 0;
2891 harnessVars = harness && vars[harness.prop]; //someone may need to specify CSS-specific values AND non-CSS values, like if the element has an "x" property plus it's a standard DOM element. We allow people to distinguish by wrapping plugin-specific stuff in a css:{} object for example.
2892
2893 cleanVars = _copyExcluding(vars, _reservedProps);
2894
2895 if (prevStartAt) {
2896 prevStartAt._zTime < 0 && prevStartAt.progress(1); // in case it's a lazy startAt that hasn't rendered yet.
2897
2898 time < 0 && runBackwards && immediateRender && !autoRevert ? prevStartAt.render(-1, true) : prevStartAt.revert(runBackwards && dur ? _revertConfigNoKill : _startAtRevertConfig); // if it's a "startAt" (not "from()" or runBackwards: true), we only need to do a shallow revert (keep transforms cached in CSSPlugin)
2899 // don't just _removeFromParent(prevStartAt.render(-1, true)) because that'll leave inline styles. We're creating a new _startAt for "startAt" tweens that re-capture things to ensure that if the pre-tween values changed since the tween was created, they're recorded.
2900
2901 prevStartAt._lazy = 0;
2902 }
2903
2904 if (startAt) {
2905 _removeFromParent(tween._startAt = Tween.set(targets, _setDefaults({
2906 data: "isStart",

Callers 3

_attemptInitTweenFunction · 0.70
_updatePropTweensFunction · 0.70
gsap-core.jsFile · 0.70

Calls 15

callMethod · 0.80
globalTimeMethod · 0.80
_parseEaseFunction · 0.70
_getCacheFunction · 0.70
_copyExcludingFunction · 0.70
_removeFromParentFunction · 0.70
_setDefaultsFunction · 0.70
_isNotFalseFunction · 0.70
_callbackFunction · 0.70
_harnessFunction · 0.70
_lazyRenderFunction · 0.70
_checkPluginFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…