%PDF- %PDF-
Direktori : /var/www/html/higroup/wp-content/themes/evenex/assets/js/ |
Current File : /var/www/html/higroup/wp-content/themes/evenex/assets/js/magician.js |
/* * magician.js v1.0.0 * (c) 2019 Oxaim * Released under the MIT license * http://oxa.im */ (function($) { $.fn.magician = function(options) { const debug = false; const scriptName = "magicianJS"; const scriptVersion = "1.0"; var settings = $.extend( { // These are the defaults. container: $(window), type: "scroll", offsetTop: 0, duration: 1000, offsetBottom: 0, animation: {} }, options ); var $container, $target, docViewHeight, docViewTop, docViewBottom, eHeight, eTop, eBottom, animationObject, scrollPosPrev, scrollPos; // helpers var setPosition = function() { docViewHeight = $container.height() - (settings.offsetTop + settings.offsetBottom); docViewTop = $container.scrollTop() + settings.offsetTop; docViewBottom = docViewTop + docViewHeight; eHeight = $target.outerHeight(); eTop = $target.offset().top; eBottom = eTop + eHeight; return; }; var isInView = function() { return eTop <= docViewBottom && eBottom >= docViewTop; }; var log = function($var, $indentifier) { if (debug == true) { if ($indentifier !== undefined) { console.log("\n \n/" + $indentifier + "/"); } console.log($var); } }; // machalisms var scrollMachalism = function() { setPosition(); if (isInView($target) == true) { scrollPos = docViewTop - eTop + docViewHeight; } else { if (eTop <= docViewBottom) { scrollPos = docViewHeight + eHeight; } if (eBottom >= docViewTop) { scrollPos = 0; } } scrollPos = Math.floor((scrollPos / (docViewHeight + eHeight)) * 1000); $({ n: scrollPosPrev }).animate( { n: scrollPos }, { duration: settings.duration, easing: "easeOutQuad", step: function(now, fx) { animationObject.seek(now); } } ); scrollPosPrev = scrollPos; }; // constructor this.each(function() { $target = $(this); $container = typeof settings.container == "object" ? settings.container : $target.parents(settings.container).eq(0); //log($container); switch (settings.type) { case "scroll": var animation = $.extend(settings.animation, { targets: $target.get(), duration: 1000, elasticity: 0, easing: "linear", autoplay: false }); log(animation); animationObject = anime(animation); scrollMachalism(); $container.on("scroll", scrollMachalism); break; case "mousemove": var relX = e.pageX - $target.offset().left; var relY = e.pageY - $target.offset().top; TweenMax.to($target.find(".elementor-repeater-item-" + obj._id), 1, { x: ((relX - $target.width() / 2) / $target.width()) * obj.parallax_speed, y: ((relY - $target.height() / 2) / $target.height()) * obj.parallax_speed, ease: Power2.ease }); break; } }); return this; }; jQuery.easing["jswing"] = jQuery.easing["swing"]; jQuery.extend(jQuery.easing, { def: "easeOutQuad", swing: function(x, t, b, c, d) { //alert(jQuery.easing.default); return jQuery.easing[jQuery.easing.def](x, t, b, c, d); }, easeInQuad: function(x, t, b, c, d) { return c * (t /= d) * t + b; }, easeOutQuad: function(x, t, b, c, d) { return -c * (t /= d) * (t - 2) + b; }, easeInOutQuad: function(x, t, b, c, d) { if ((t /= d / 2) < 1) return (c / 2) * t * t + b; return (-c / 2) * (--t * (t - 2) - 1) + b; }, easeInCubic: function(x, t, b, c, d) { return c * (t /= d) * t * t + b; }, easeOutCubic: function(x, t, b, c, d) { return c * ((t = t / d - 1) * t * t + 1) + b; }, easeInOutCubic: function(x, t, b, c, d) { if ((t /= d / 2) < 1) return (c / 2) * t * t * t + b; return (c / 2) * ((t -= 2) * t * t + 2) + b; }, easeInQuart: function(x, t, b, c, d) { return c * (t /= d) * t * t * t + b; }, easeOutQuart: function(x, t, b, c, d) { return -c * ((t = t / d - 1) * t * t * t - 1) + b; }, easeInOutQuart: function(x, t, b, c, d) { if ((t /= d / 2) < 1) return (c / 2) * t * t * t * t + b; return (-c / 2) * ((t -= 2) * t * t * t - 2) + b; }, easeInQuint: function(x, t, b, c, d) { return c * (t /= d) * t * t * t * t + b; }, easeOutQuint: function(x, t, b, c, d) { return c * ((t = t / d - 1) * t * t * t * t + 1) + b; }, easeInOutQuint: function(x, t, b, c, d) { if ((t /= d / 2) < 1) return (c / 2) * t * t * t * t * t + b; return (c / 2) * ((t -= 2) * t * t * t * t + 2) + b; }, easeInSine: function(x, t, b, c, d) { return -c * Math.cos((t / d) * (Math.PI / 2)) + c + b; }, easeOutSine: function(x, t, b, c, d) { return c * Math.sin((t / d) * (Math.PI / 2)) + b; }, easeInOutSine: function(x, t, b, c, d) { return (-c / 2) * (Math.cos((Math.PI * t) / d) - 1) + b; }, easeInExpo: function(x, t, b, c, d) { return t == 0 ? b : c * Math.pow(2, 10 * (t / d - 1)) + b; }, easeOutExpo: function(x, t, b, c, d) { return t == d ? b + c : c * (-Math.pow(2, (-10 * t) / d) + 1) + b; }, easeInOutExpo: function(x, t, b, c, d) { if (t == 0) return b; if (t == d) return b + c; if ((t /= d / 2) < 1) return (c / 2) * Math.pow(2, 10 * (t - 1)) + b; return (c / 2) * (-Math.pow(2, -10 * --t) + 2) + b; }, easeInCirc: function(x, t, b, c, d) { return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b; }, easeOutCirc: function(x, t, b, c, d) { return c * Math.sqrt(1 - (t = t / d - 1) * t) + b; }, easeInOutCirc: function(x, t, b, c, d) { if ((t /= d / 2) < 1) return (-c / 2) * (Math.sqrt(1 - t * t) - 1) + b; return (c / 2) * (Math.sqrt(1 - (t -= 2) * t) + 1) + b; }, easeInElastic: function(x, t, b, c, d) { var s = 1.70158; var p = 0; var a = c; if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * 0.3; if (a < Math.abs(c)) { a = c; var s = p / 4; } else var s = (p / (2 * Math.PI)) * Math.asin(c / a); return ( -( a * Math.pow(2, 10 * (t -= 1)) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) ) + b ); }, easeOutElastic: function(x, t, b, c, d) { var s = 1.70158; var p = 0; var a = c; if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * 0.3; if (a < Math.abs(c)) { a = c; var s = p / 4; } else var s = (p / (2 * Math.PI)) * Math.asin(c / a); return ( a * Math.pow(2, -10 * t) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) + c + b ); }, easeInOutElastic: function(x, t, b, c, d) { var s = 1.70158; var p = 0; var a = c; if (t == 0) return b; if ((t /= d / 2) == 2) return b + c; if (!p) p = d * (0.3 * 1.5); if (a < Math.abs(c)) { a = c; var s = p / 4; } else var s = (p / (2 * Math.PI)) * Math.asin(c / a); if (t < 1) return ( -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin(((t * d - s) * (2 * Math.PI)) / p)) + b ); return ( a * Math.pow(2, -10 * (t -= 1)) * Math.sin(((t * d - s) * (2 * Math.PI)) / p) * 0.5 + c + b ); }, easeInBack: function(x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c * (t /= d) * t * ((s + 1) * t - s) + b; }, easeOutBack: function(x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b; }, easeInOutBack: function(x, t, b, c, d, s) { if (s == undefined) s = 1.70158; if ((t /= d / 2) < 1) return (c / 2) * (t * t * (((s *= 1.525) + 1) * t - s)) + b; return (c / 2) * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b; }, easeInBounce: function(x, t, b, c, d) { return c - jQuery.easing.easeOutBounce(x, d - t, 0, c, d) + b; }, easeOutBounce: function(x, t, b, c, d) { if ((t /= d) < 1 / 2.75) { return c * (7.5625 * t * t) + b; } else if (t < 2 / 2.75) { return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b; } else if (t < 2.5 / 2.75) { return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b; } else { return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b; } }, easeInOutBounce: function(x, t, b, c, d) { if (t < d / 2) return jQuery.easing.easeInBounce(x, t * 2, 0, c, d) * 0.5 + b; return ( jQuery.easing.easeOutBounce(x, t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b ); } }); })(jQuery);