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

Function _getScrollFunc

esm/Observer.js:139–159  ·  view source on GitHub ↗
(element, _ref)

Source from the content-addressed store, hash-verified

137 return false;
138},
139 _getScrollFunc = function _getScrollFunc(element, _ref) {
140 var s = _ref.s,
141 sc = _ref.sc;
142 // we store the scroller functions in an alternating sequenced Array like [element, verticalScrollFunc, horizontalScrollFunc, ...] so that we can minimize memory, maximize performance, and we also record the last position as a ".rec" property in order to revert to that after refreshing to ensure things don't shift around.
143 _isViewport(element) && (element = _doc.scrollingElement || _docEl);
144
145 var i = _scrollers.indexOf(element),
146 offset = sc === _vertical.sc ? 1 : 2;
147
148 !~i && (i = _scrollers.push(element) - 1);
149 _scrollers[i + offset] || _addListener(element, "scroll", _onScroll); // clear the cache when a scroll occurs
150
151 var prev = _scrollers[i + offset],
152 func = prev || (_scrollers[i + offset] = _scrollCacheFunc(_getProxyProp(element, s), true) || (_isViewport(element) ? sc : _scrollCacheFunc(function (value) {
153 return arguments.length ? element[s] = value : element[s];
154 })));
155 func.target = element;
156 prev || (func.smooth = gsap.getProperty(element, "scrollBehavior") === "smooth"); // only set it the first time (don't reset every time a scrollFunc is requested because perhaps it happens during a refresh() when it's disabled in ScrollTrigger.
157
158 return func;
159},
160 _getVelocityProp = function _getVelocityProp(value, minTimeRefresh, useDelta) {
161 var v1 = value,
162 v2 = value,

Callers 4

_getTweenCreatorFunction · 0.90
ScrollTrigger.jsFile · 0.90
_getScrollNormalizerFunction · 0.90
Observer.jsFile · 0.70

Calls 5

getPropertyMethod · 0.80
_isViewportFunction · 0.70
_addListenerFunction · 0.70
_scrollCacheFuncFunction · 0.70
_getProxyPropFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…