Joywork/promo/js/emerge.js
2026-05-22 21:21:54 +03:00

211 lines
9.9 KiB
JavaScript

jQuery && (!function(e) {
e(function() {
e.expr[":"].uncached = function(t) {
if (!e(t).is('img[src!=""]'))
return !1;
var n = new Image;
return n.src = t.src, !n.complete
};
var t = [],
n = 500,
r = !1,
i = !1,
o = ["backgroundImage", "borderImage", "borderCornerImage", "listStyleImage", "cursor"],
a = /url\(\s*(['"]?)(.*?)\1\s*\)/g,
s = 0,
u = function(e, t, n, r, i) {
var o = "emergeRotate" + ++s;
return "<style>@keyframes " + o + " { from { transform: rotate(" + 360 * n + "deg) } to { transform: rotate(" + 360 * !n + 'deg) } } </style><div style="position: absolute; transition: opacity ' + i + 'ms ease-out"><div style="position: absolute; left: 50%; top: 50%; margin: -' + e + 'px"><svg width="' + 2 * e + '" height="' + 2 * e + '"viewBox="0 0 100 100"><defs><mask id="cut"><rect width="100" height="100" fill="white" /><circle r="40" cx="50" cy="50" fill="black" /><polygon points="50,50 100,25 150,50 100,75" fill="black" style="transform-origin: 50 50; animation: ' + o + " " + r + 'ms linear infinite" /></mask></defs><circle r="50" cx="50" cy="50" mask="url(#cut)" /></svg></div></div>'
};
if (window.navigator && "preview" === window.navigator.loadPurpose)
return e(".emerge").css("transition", "none"), e(".emerge").css("opacity", "1"), !1;
var c = function(e) {
var t = Math.min(document.body.clientHeight, document.documentElement.clientHeight),
n = e.offset().top,
r = window.pageYOffset || document.documentElement.scrollTop;
return t > n - r
},
l = function(e, t) {
var r = e.data("hold"),
i = e.data("expose");
if (i && !c(e))
return e.data("_waitingForView", !0), !1;
if (r && !e.data("_holding"))
return e.data("_holding", !0), setTimeout(function() {
l(e, !0)
}, r), !1;
if (e.data("_holding") && !t)
return !1;
var o = e.data("_spinner");
o && o.css("opacity", 0), e.css("transition", "opacity " + n + "ms ease-out"), e.css("opacity", "1");
var a = e.data("style-2");
a && e.attr("style", e.attr("style") + "; " + a), e.data("_fired", !0), d()
},
d = function(e) {
e && t.push(e);
for (var n in t) {
var r = t[n];
if (r.data("_fired"))
;
else {
var i,
o = !1;
if (i = r.data("_waitFor")) {
for (;;) {
if (!i.data("_fired")) {
if (i[0] == r[0]) {
o = !0;
break
}
if (i = i.data("_waitFor"))
continue
}
break
}
(r.data("_waitFor").data("_fired") || o) && l(r)
} else
l(r)
}
}
},
f = function() {
for (var e in t) {
var n = t[e];
n.data("_waitingForView") && c(n) && (n.data("_waitingForView", !1), l(n))
}
},
p = function() {
i || (e(window).on("scroll resize", f), i = !0)
};
e(".emerge").each(function() {
var t = e(this),
i = {},
s = !1,
c = 12,
l = 1333,
f = "#404040",
h = 0,
v = n,
m = 0,
g = 0,
y = "",
b = "",
x = n,
w = {};
t.$prev = r;
var C = function() {
t.data("continue") && t.data("_waitFor", t.$prev), t.data("await") && t.data("_waitFor", e("#" + t.data("await"))), d(t)
},
T = function() {
g++, g == m && setTimeout(C, t.data("slow"))
};
if (t.data("opaque") && t.css("opacity", 1), w = t.data("effect") || !1, x = t.data("duration") || n, expose = t.data("expose"), p(), w) {
var k = {},
E = ["", "-webkit-"],
N = "transform",
S = "transform-origin",
A = t.data("up") || 0,
H = t.data("down") || 0,
j = t.data("left") || 0,
L = t.data("right") || 0,
D = t.data("angle") || "90",
_ = t.data("scale") || -1,
q = t.data("origin") || "50% 50%";
if (H && (A = "-" + H, "--" == A.substr(0, 2) && (A = A.substr(2))), L && (j = "-" + L, "--" == j.substr(0, 2) && (j = j.substr(2))), "relax" == w && (-1 == _ && (_ = .92), "50% 50%" == q && (q = "top"), k = {
one: "scaleY(" + _ + ")",
two: "scaleY(1)",
orn: q,
crv: "cubic-bezier(0, 0, 0.001, 1)"
}), "slide" == w && (A || (A = "20px"), k = {
one: "translate(" + j + "," + A + ")",
two: "translate(0,0)",
crv: "cubic-bezier(0, 0.9, 0.1, 1)"
}), "zoom" == w && (-1 == _ && (_ = .5), k = {
one: "scale(" + _ + ")",
two: "scale(1)",
orn: q,
crv: "cubic-bezier(0, 0.75, 0.25, 1)"
}), "screw" == w && (-1 == _ && (_ = .5), D || (D = 90), k = {
one: "scale(" + _ + ") rotate(" + D + "deg)",
two: "scale(1) rotate(0)",
orn: q,
crv: "cubic-bezier(0, 0.75, 0.25, 1)"
}), k)
for (var M = 0; M < E.length; ++M)
y += E[M] + N + ": " + k.one + "; " + E[M] + S + ": " + k.orn + "; ", b += E[M] + N + ": " + k.two + "; " + E[M] + "transition: opacity " + x + "ms ease-out, " + E[M] + N + " " + x + "ms " + k.crv + "; ";
t.data("style-1", y), t.data("style-2", b)
}
if (y || (y = t.data("style-1")), y && t.attr("style", t.attr("style") + "; " + y), t.find("*").addBack().each(function() {
var t = e(this);
t.is("img:uncached") && t.attr("src") && (i[t.attr("src")] = !0);
for (var n = 0; n < o.length; ++n) {
var r,
s = o[n],
u = t.css(s),
c = -1;
if (u && (c = u.indexOf("url(")) >= 0)
for (; null !== (r = a.exec(u));)
i[r[2]] = !0
}
}), Object.keys(i).length > 0 && (s = t.data("spin"))) {
var O = t.data("spin-element");
if (O)
var F = e("#" + O).clone().css({
position: "absolute",
display: "block"
});
else {
t.data("spin-size") && (c = t.data("spin-size") / 2), t.data("spin-color") && (f = t.data("spin-color")), t.data("spin-period") && (l = t.data("spin-period")), t.data("spin-direction") && (h = "clockwise" == t.data("spin-direction") ? 0 : 1), v = x;
var F = e(u(c, f, h, l, v))
}
F.css({
width: "100%",
height: Math.min(t.height(), document.body.clientHeight - t.offset().top)
}), t.before(F), t.data("_spinner", F)
}
for (var M in i) {
var P = new Image;
P.src = M, m++, P.width > 0 ? T() : e(P).on("load error", T)
}
m++, T(), r = t
})
})
}(jQuery),
document.write("<style>.emerge { opacity: 0; }</style>")),
jQuery(document).ready(function($) {
if (!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)) {
window.move = function() {
var e = $(document).scrollTop(),
t = window.innerHeight,
n = 828 / t / 20;
if (typeof jSearchScreen !== 'undefined' && jSearchScreen) {
jSearchScreen.style.top = -e * n * 7 + "px";
}
if (typeof jObjectAddScreen !== 'undefined' && jObjectAddScreen) {
var q = t - jObjectAddScreen.getBoundingClientRect().top;
jObjectAddScreen.style.top = -(q * n * 4) + "px";
}
if (typeof jSearchPresentations !== 'undefined' && jSearchPresentations) {
var r = t - jSearchPresentations.getBoundingClientRect().top;
jSearchPresentations.style.top = -(r * n * 4) + "px";
}
if (typeof jSearchPresentationsHistory !== 'undefined' && jSearchPresentationsHistory) {
var i = t - jSearchPresentationsHistory.getBoundingClientRect().top;
jSearchPresentationsHistory.style.top = -(i * n * 5) + "px";
}
if (typeof jCRMClientHistory !== 'undefined' && jCRMClientHistory) {
var a = t - jCRMClientHistory.getBoundingClientRect().top;
jCRMClientHistory.style.top = -(a * n * 2) + "px";
}
};
$(window).on('scroll', move);
move();
}
});