♻️ refactor: format code
This commit is contained in:
Vendored
+116
-1
@@ -1,2 +1,117 @@
|
||||
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
|
||||
!function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r<this.length;r++)t(this[r]).scrollex(l);return s}if(s.data("_scrollexId"))return s;var a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);
|
||||
!(function (t) {
|
||||
function e(t, e, n) {
|
||||
return (
|
||||
'string' == typeof t &&
|
||||
('%' == t.slice(-1)
|
||||
? (t = (parseInt(t.substring(0, t.length - 1)) / 100) * e)
|
||||
: 'vh' == t.slice(-2)
|
||||
? (t = (parseInt(t.substring(0, t.length - 2)) / 100) * n)
|
||||
: 'px' == t.slice(-2) && (t = parseInt(t.substring(0, t.length - 2)))),
|
||||
t
|
||||
)
|
||||
}
|
||||
var n = t(window),
|
||||
i = 1,
|
||||
o = {}
|
||||
n
|
||||
.on('scroll', function () {
|
||||
var e = n.scrollTop()
|
||||
t.map(o, function (t) {
|
||||
window.clearTimeout(t.timeoutId),
|
||||
(t.timeoutId = window.setTimeout(function () {
|
||||
t.handler(e)
|
||||
}, t.options.delay))
|
||||
})
|
||||
})
|
||||
.on('load', function () {
|
||||
n.trigger('scroll')
|
||||
}),
|
||||
(jQuery.fn.scrollex = function (l) {
|
||||
var s = t(this)
|
||||
if (0 == this.length) return s
|
||||
if (this.length > 1) {
|
||||
for (var r = 0; r < this.length; r++) t(this[r]).scrollex(l)
|
||||
return s
|
||||
}
|
||||
if (s.data('_scrollexId')) return s
|
||||
var a, u, h, c, p
|
||||
switch (
|
||||
((a = i++),
|
||||
(u = jQuery.extend({ top: 0, bottom: 0, delay: 0, mode: 'default', enter: null, leave: null, initialize: null, terminate: null, scroll: null }, l)),
|
||||
u.mode)
|
||||
) {
|
||||
case 'top':
|
||||
h = function (t, e, n, i, o) {
|
||||
return t >= i && o >= t
|
||||
}
|
||||
break
|
||||
case 'bottom':
|
||||
h = function (t, e, n, i, o) {
|
||||
return n >= i && o >= n
|
||||
}
|
||||
break
|
||||
case 'middle':
|
||||
h = function (t, e, n, i, o) {
|
||||
return e >= i && o >= e
|
||||
}
|
||||
break
|
||||
case 'top-only':
|
||||
h = function (t, e, n, i, o) {
|
||||
return i >= t && n >= i
|
||||
}
|
||||
break
|
||||
case 'bottom-only':
|
||||
h = function (t, e, n, i, o) {
|
||||
return n >= o && o >= t
|
||||
}
|
||||
break
|
||||
default:
|
||||
case 'default':
|
||||
h = function (t, e, n, i, o) {
|
||||
return n >= i && o >= t
|
||||
}
|
||||
}
|
||||
return (
|
||||
(c = function (t) {
|
||||
var i,
|
||||
o,
|
||||
l,
|
||||
s,
|
||||
r,
|
||||
a,
|
||||
u = this.state,
|
||||
h = !1,
|
||||
c = this.$element.offset()
|
||||
;(i = n.height()),
|
||||
(o = t + i / 2),
|
||||
(l = t + i),
|
||||
(s = this.$element.outerHeight()),
|
||||
(r = c.top + e(this.options.top, s, i)),
|
||||
(a = c.top + s - e(this.options.bottom, s, i)),
|
||||
(h = this.test(t, o, l, r, a)),
|
||||
h != u &&
|
||||
((this.state = h),
|
||||
h ? this.options.enter && this.options.enter.apply(this.element) : this.options.leave && this.options.leave.apply(this.element)),
|
||||
this.options.scroll && this.options.scroll.apply(this.element, [(o - r) / (a - r)])
|
||||
}),
|
||||
(p = { id: a, options: u, test: h, handler: c, state: null, element: this, $element: s, timeoutId: null }),
|
||||
(o[a] = p),
|
||||
s.data('_scrollexId', p.id),
|
||||
p.options.initialize && p.options.initialize.apply(this),
|
||||
s
|
||||
)
|
||||
}),
|
||||
(jQuery.fn.unscrollex = function () {
|
||||
var e = t(this)
|
||||
if (0 == this.length) return e
|
||||
if (this.length > 1) {
|
||||
for (var n = 0; n < this.length; n++) t(this[n]).unscrollex()
|
||||
return e
|
||||
}
|
||||
var i, l
|
||||
return (i = e.data('_scrollexId'))
|
||||
? ((l = o[i]), window.clearTimeout(l.timeoutId), delete o[i], e.removeData('_scrollexId'), l.options.terminate && l.options.terminate.apply(this), e)
|
||||
: e
|
||||
})
|
||||
})(jQuery)
|
||||
|
||||
Reference in New Issue
Block a user