Files
RaderHealthWeb/public/assets/js/paroller.js
T
CHIEFSOFT\ameye 0429395219 first commit
2024-06-18 14:00:40 -04:00

124 lines
4.9 KiB
JavaScript

! function (r) {
"use strict";
"function" == typeof define && define.amd ? define("parollerjs", ["jquery"], r) : "object" == typeof module && "object" == typeof module.exports ? module.exports = r(require("jquery")) : r(jQuery)
}(function (g) {
"use strict";
var v = !1,
x = function () {
v = !1
},
b = function (r, t) {
return r.css({
"background-position": "center " + -t + "px"
})
},
k = function (r, t) {
return r.css({
"background-position": -t + "px center"
})
},
y = function (r, t, o, n) {
return "none" !== n || (n = ""), r.css({
"-webkit-transform": "translateY(" + t + "px)" + n,
"-moz-transform": "translateY(" + t + "px)" + n,
transform: "translate(0," + t + "px)" + n,
transition: o,
"will-change": "transform"
})
},
z = function (r, t, o, n) {
return "none" !== n || (n = ""), r.css({
"-webkit-transform": "translateX(" + t + "px)" + n,
"-moz-transform": "translateX(" + t + "px)" + n,
transform: "translate(" + t + "px, 0)" + n,
transition: o,
"will-change": "transform"
})
},
M = function (r, t, o) {
var n = r.data("paroller-factor"),
a = n || o.factor;
if (t < 576) {
var e = r.data("paroller-factor-xs"),
i = e || o.factorXs;
return i || a
}
if (t <= 768) {
var c = r.data("paroller-factor-sm"),
s = c || o.factorSm;
return s || a
}
if (t <= 1024) {
var u = r.data("paroller-factor-md"),
f = u || o.factorMd;
return f || a
}
if (t <= 1200) {
var l = r.data("paroller-factor-lg"),
d = l || o.factorLg;
return d || a
}
if (t <= 1920) {
var p = r.data("paroller-factor-xl"),
h = p || o.factorXl;
return h || a
}
return a
},
j = function (r, t) {
return Math.round(r * t)
},
X = function (r, t, o, n) {
return Math.round((r - o / 2 + n) * t)
},
q = function (r) {
return r.css({
"background-position": "unset"
})
},
T = function (r) {
return r.css({
transform: "unset",
transition: "unset"
})
};
g.fn.paroller = function (h) {
var m = g(window).height(),
w = g(document).height();
h = g.extend({
factor: 0,
factorXs: 0,
factorSm: 0,
factorMd: 0,
factorLg: 0,
factorXl: 0,
transition: "transform .1s ease",
type: "background",
direction: "vertical"
}, h);
return this.each(function () {
var o = g(this),
n = g(window).width(),
a = o.offset().top,
e = o.outerHeight(),
r = o.data("paroller-type"),
t = o.data("paroller-direction"),
i = o.data("paroller-transition"),
c = o.css("transform"),
s = i || h.transition,
u = r || h.type,
f = t || h.direction,
l = 0,
d = j(a, l),
p = X(a, l, m, e);
"background" === u ? "vertical" === f ? b(o, d) : "horizontal" === f && k(o, d) : "foreground" === u && ("vertical" === f ? y(o, p, s, c) : "horizontal" === f && z(o, p, s, c)), g(window).on("resize", function () {
var r = g(this).scrollTop();
n = g(window).width(), a = o.offset().top, e = o.outerHeight(), l = M(o, n, h), d = Math.round(a * l), p = Math.round((a - m / 2 + e) * l), v || (window.requestAnimationFrame(x), v = !0), "background" === u ? (q(o), "vertical" === f ? b(o, d) : "horizontal" === f && k(o, d)) : "foreground" === u && r <= w && (T(o), "vertical" === f ? y(o, p, s) : "horizontal" === f && z(o, p, s))
}), g(window).on("scroll", function () {
var r = g(this).scrollTop(),
t = g(document).scrollTop();
l = 0 === t ? 0 : M(o, n, h), d = Math.round((a - r) * l), p = Math.round((a - m / 2 + e - r) * l), v || (window.requestAnimationFrame(x), v = !0), "background" === u ? "vertical" === f ? b(o, d) : "horizontal" === f && k(o, d) : "foreground" === u && r <= w && ("vertical" === f ? y(o, p, s, c) : "horizontal" === f && z(o, p, s, c))
})
})
}
});