Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * jQuery FlexSlider v2.2.0
- * Copyright 2012 WooThemes
- * Contributing Author: Tyler Smith
- */
- (function(e) {
- e.flexslider = function(t, n) {
- var r = e(t);
- r.vars = e.extend({}, e.flexslider.defaults, n);
- var i = r.vars.namespace, s = window.navigator && window.navigator.msPointerEnabled && window.MSGesture, o = ("ontouchstart"in window || s || window.DocumentTouch && document instanceof DocumentTouch) && r.vars.touch, u = "click touchend MSPointerUp", a = "", f, l = r.vars.direction === "vertical", c = r.vars.reverse, h = r.vars.itemWidth > 0, p = r.vars.animation === "fade", d = r.vars.asNavFor !== "", v = {}, m = !0;
- e.data(t, "flexslider", r);
- v = {init: function() {
- r.animating = !1;
- r.currentSlide = parseInt(r.vars.startAt ? r.vars.startAt : 0);
- isNaN(r.currentSlide) && (r.currentSlide = 0);
- r.animatingTo = r.currentSlide;
- r.atEnd = r.currentSlide === 0 || r.currentSlide === r.last;
- r.containerSelector = r.vars.selector.substr(0, r.vars.selector.search(" "));
- r.slides = e(r.vars.selector, r);
- r.container = e(r.containerSelector, r);
- r.count = r.slides.length;
- r.syncExists = e(r.vars.sync).length > 0;
- r.vars.animation === "slide" && (r.vars.animation = "swing");
- r.prop = l ? "top" : "marginLeft";
- r.args = {};
- r.manualPause = !1;
- r.stopped = !1;
- r.started = !1;
- r.startTimeout = null;
- r.transitions = !r.vars.video && !p && r.vars.useCSS && function() {
- var e = document.createElement("div"), t = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
- for (var n in t)
- if (e.style[t[n]] !== undefined) {
- r.pfx = t[n].replace("Perspective", "").toLowerCase();
- r.prop = "-" + r.pfx + "-transform";
- return!0
- }
- return!1
- }();
- r.vars.controlsContainer !== "" && (r.controlsContainer = e(r.vars.controlsContainer).length > 0 && e(r.vars.controlsContainer));
- r.vars.manualControls !== "" && (r.manualControls = e(r.vars.manualControls).length > 0 && e(r.vars.manualControls));
- if (r.vars.randomize) {
- r.slides.sort(function() {
- return Math.round(Math.random()) - .5
- });
- r.container.empty().append(r.slides)
- }
- r.doMath();
- r.setup("init");
- r.vars.controlNav && v.controlNav.setup();
- r.vars.directionNav && v.directionNav.setup();
- r.vars.keyboard && (e(r.containerSelector).length === 1 || r.vars.multipleKeyboard) && e(document).bind("keyup", function(e) {
- var t = e.keyCode;
- if (!r.animating && (t === 39 || t === 37)) {
- var n = t === 39 ? r.getTarget("next") : t === 37 ? r.getTarget("prev") : !1;
- r.flexAnimate(n, r.vars.pauseOnAction)
- }
- });
- r.vars.mousewheel && r.bind("mousewheel", function(e, t, n, i) {
- e.preventDefault();
- var s = t < 0 ? r.getTarget("next") : r.getTarget("prev");
- r.flexAnimate(s, r.vars.pauseOnAction)
- });
- r.vars.pausePlay && v.pausePlay.setup();
- r.vars.slideshow && r.vars.pauseInvisible && v.pauseInvisible.init();
- if (r.vars.slideshow) {
- r.vars.pauseOnHover && r.hover(function() {
- !r.manualPlay && !r.manualPause && r.pause()
- }, function() {
- !r.manualPause && !r.manualPlay && !r.stopped && r.play()
- });
- if (!r.vars.pauseInvisible || !v.pauseInvisible.isHidden())
- r.vars.initDelay > 0 ? r.startTimeout = setTimeout(r.play, r.vars.initDelay) : r.play()
- }
- d && v.asNav.setup();
- o && r.vars.touch && v.touch();
- (!p || p && r.vars.smoothHeight) && e(window).bind("resize orientationchange focus", v.resize);
- r.find("img").attr("draggable", "false");
- setTimeout(function() {
- r.vars.start(r)
- }, 200)
- }, asNav: {setup: function() {
- r.asNav = !0;
- r.animatingTo = Math.floor(r.currentSlide / r.move);
- r.currentItem = r.currentSlide;
- r.slides.removeClass(i + "active-slide").eq(r.currentItem).addClass(i + "active-slide");
- if (!s)
- r.slides.click(function(t) {
- t.preventDefault();
- var n = e(this), s = n.index(), o = n.offset().left - e(r).scrollLeft();
- if (o <= 0 && n.hasClass(i + "active-slide"))
- r.flexAnimate(r.getTarget("prev"), !0);
- else if (!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass(i + "active-slide")) {
- r.direction = r.currentItem < s ? "next" : "prev";
- r.flexAnimate(s, r.vars.pauseOnAction, !1, !0, !0)
- }
- });
- else {
- t._slider = r;
- r.slides.each(function() {
- var t = this;
- t._gesture = new MSGesture;
- t._gesture.target = t;
- t.addEventListener("MSPointerDown", function(e) {
- e.preventDefault();
- e.currentTarget._gesture && e.currentTarget._gesture.addPointer(e.pointerId)
- }, !1);
- t.addEventListener("MSGestureTap", function(t) {
- t.preventDefault();
- var n = e(this), i = n.index();
- if (!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass("active")) {
- r.direction = r.currentItem < i ? "next" : "prev";
- r.flexAnimate(i, r.vars.pauseOnAction, !1, !0, !0)
- }
- })
- })
- }
- }}, controlNav: {setup: function() {
- r.manualControls ? v.controlNav.setupManual() : v.controlNav.setupPaging()
- }, setupPaging: function() {
- var t = r.vars.controlNav === "thumbnails" ? "control-thumbs" : "control-paging", n = 1, s, o;
- r.controlNavScaffold = e('<ol class="' + i + "control-nav " + i + t + '"></ol>');
- if (r.pagingCount > 1)
- for (var f = 0; f < r.pagingCount; f++) {
- o = r.slides.eq(f);
- s = r.vars.controlNav === "thumbnails" ? '<img src="' + o.attr("data-thumb") + '"/>' : "<a>" + n + "</a>";
- if ("thumbnails" === r.vars.controlNav && !0 === r.vars.thumbCaptions) {
- var l = o.attr("data-thumbcaption");
- "" != l && undefined != l && (s += '<span class="' + i + 'caption">' + l + "</span>")
- }
- r.controlNavScaffold.append("<li>" + s + "</li>");
- n++
- }
- r.controlsContainer ? e(r.controlsContainer).append(r.controlNavScaffold) : r.append(r.controlNavScaffold);
- v.controlNav.set();
- v.controlNav.active();
- r.controlNavScaffold.delegate("a, img", u, function(t) {
- t.preventDefault();
- if (a === "" || a === t.type) {
- var n = e(this), s = r.controlNav.index(n);
- if (!n.hasClass(i + "active")) {
- r.direction = s > r.currentSlide ? "next" : "prev";
- r.flexAnimate(s, r.vars.pauseOnAction)
- }
- }
- a === "" && (a = t.type);
- v.setToClearWatchedEvent()
- })
- }, setupManual: function() {
- r.controlNav = r.manualControls;
- v.controlNav.active();
- r.controlNav.bind(u, function(t) {
- t.preventDefault();
- if (a === "" || a === t.type) {
- var n = e(this), s = r.controlNav.index(n);
- if (!n.hasClass(i + "active")) {
- s > r.currentSlide ? r.direction = "next" : r.direction = "prev";
- r.flexAnimate(s, r.vars.pauseOnAction)
- }
- }
- a === "" && (a = t.type);
- v.setToClearWatchedEvent()
- })
- }, set: function() {
- var t = r.vars.controlNav === "thumbnails" ? "img" : "a";
- r.controlNav = e("." + i + "control-nav li " + t, r.controlsContainer ? r.controlsContainer : r)
- }, active: function() {
- r.controlNav.removeClass(i + "active").eq(r.animatingTo).addClass(i + "active")
- }, update: function(t, n) {
- r.pagingCount > 1 && t === "add" ? r.controlNavScaffold.append(e("<li><a>" + r.count + "</a></li>")) : r.pagingCount === 1 ? r.controlNavScaffold.find("li").remove() : r.controlNav.eq(n).closest("li").remove();
- v.controlNav.set();
- r.pagingCount > 1 && r.pagingCount !== r.controlNav.length ? r.update(n, t) : v.controlNav.active()
- }}, directionNav: {setup: function() {
- var t = e('<ul class="' + i + 'direction-nav"><li><a class="' + i + 'prev" href="#">' + r.vars.prevText + '</a></li><li><a class="' + i + 'next" href="#">' + r.vars.nextText + "</a></li></ul>");
- if (r.controlsContainer) {
- e(r.controlsContainer).append(t);
- r.directionNav = e("." + i + "direction-nav li a", r.controlsContainer)
- } else {
- r.append(t);
- r.directionNav = e("." + i + "direction-nav li a", r)
- }
- v.directionNav.update();
- r.directionNav.bind(u, function(t) {
- t.preventDefault();
- var n;
- if (a === "" || a === t.type) {
- n = e(this).hasClass(i + "next") ? r.getTarget("next") : r.getTarget("prev");
- r.flexAnimate(n, r.vars.pauseOnAction)
- }
- a === "" && (a = t.type);
- v.setToClearWatchedEvent()
- })
- }, update: function() {
- var e = i + "disabled";
- r.pagingCount === 1 ? r.directionNav.addClass(e).attr("tabindex", "-1") : r.vars.animationLoop ? r.directionNav.removeClass(e).removeAttr("tabindex") : r.animatingTo === 0 ? r.directionNav.removeClass(e).filter("." + i + "prev").addClass(e).attr("tabindex", "-1") : r.animatingTo === r.last ? r.directionNav.removeClass(e).filter("." + i + "next").addClass(e).attr("tabindex", "-1") : r.directionNav.removeClass(e).removeAttr("tabindex")
- }}, pausePlay: {setup: function() {
- var t = e('<div class="' + i + 'pauseplay"><a></a></div>');
- if (r.controlsContainer) {
- r.controlsContainer.append(t);
- r.pausePlay = e("." + i + "pauseplay a", r.controlsContainer)
- } else {
- r.append(t);
- r.pausePlay = e("." + i + "pauseplay a", r)
- }
- v.pausePlay.update(r.vars.slideshow ? i + "pause" : i + "play");
- r.pausePlay.bind(u, function(t) {
- t.preventDefault();
- if (a === "" || a === t.type)
- if (e(this).hasClass(i + "pause")) {
- r.manualPause = !0;
- r.manualPlay = !1;
- r.pause()
- } else {
- r.manualPause = !1;
- r.manualPlay = !0;
- r.play()
- }
- a === "" && (a = t.type);
- v.setToClearWatchedEvent()
- })
- }, update: function(e) {
- e === "play" ? r.pausePlay.removeClass(i + "pause").addClass(i + "play").html(r.vars.playText) : r.pausePlay.removeClass(i + "play").addClass(i + "pause").html(r.vars.pauseText)
- }}, touch: function() {
- var e, n, i, o, u, a, f = !1, d = 0, v = 0, m = 0, swiping = !1, scrollingNew = !1;
- if (!s) {
- t.addEventListener("touchstart", g, !1);
- // g = onTouchStart
- function g(se) {
- swiping = !1;
- scrollingNew = !1;
- if (r.animating)
- se.preventDefault();
- else if (window.navigator.msPointerEnabled || se.touches.length === 1) {
- r.pause();
- o = l ? r.h : r.w;
- a = Number(new Date);
- // localX
- d = se.touches[0].pageX;
- // localY
- v = se.touches[0].pageY;
- i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o;
- // startX
- e = l ? v : d;
- // startY
- n = l ? d : v;
- t.addEventListener("touchmove", y, !1);
- t.addEventListener("touchend", b, !1)
- }
- }
- // y = onTouchMove
- function y(t) {
- d = t.touches[0].pageX;
- v = t.touches[0].pageY;
- // dx
- u = l ? e - v : e - d;
- // scrolling
- f = l ? Math.abs(u) < Math.abs(d - n) : Math.abs(u) < Math.abs(v - n);
- f = swiping ? !1 : f;
- var s = 500;
- if ((!f || Number(new Date) - a > s) && !scrollingNew) {
- t.preventDefault();
- swiping = 1;
- if (!p && r.transitions) {
- r.vars.animationLoop || (u /= r.currentSlide === 0 && u < 0 || r.currentSlide === r.last && u > 0 ? Math.abs(u) / o + 2 : 1);
- r.setProps(i + u, "setTouch")
- }
- }
- scrollingNew = f ? 1 : scrollingNew;
- }
- // b = onTouchEnd
- function b(s) {
- t.removeEventListener("touchmove", y, !1);
- //if (r.animatingTo === r.currentSlide && !f && u !== null) {
- if (r.animatingTo === r.currentSlide && !f && u !== null) {
- var l = c ? -u : u, h = l > 0 ? r.getTarget("next") : r.getTarget("prev");
- r.canAdvance(h) && (Number(new Date) - a < 550 && Math.abs(l) > 50 || Math.abs(l) > o / 2) ? r.flexAnimate(h, r.vars.pauseOnAction) : p || r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, !0)
- }
- if (f || scrollingNew) r.animating = !1;
- t.removeEventListener("touchend", b, !1);
- e = null;
- n = null;
- u = null;
- i = null
- }}
- else {
- t.style.msTouchAction = "none";
- t._gesture = new MSGesture;
- t._gesture.target = t;
- t.addEventListener("MSPointerDown", w, !1);
- t._slider = r;
- t.addEventListener("MSGestureChange", E, !1);
- t.addEventListener("MSGestureEnd", S, !1);
- function w(e) {
- e.stopPropagation();
- if (r.animating)
- e.preventDefault();
- else {
- r.pause();
- t._gesture.addPointer(e.pointerId);
- m = 0;
- o = l ? r.h : r.w;
- a = Number(new Date);
- i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o
- }
- }
- function E(e) {
- e.stopPropagation();
- var n = e.target._slider;
- if (!n)
- return;
- var r = -e.translationX, s = -e.translationY;
- m += l ? s : r;
- u = m;
- f = l ? Math.abs(m) < Math.abs(-r) : Math.abs(m) < Math.abs(-s);
- if (e.detail === e.MSGESTURE_FLAG_INERTIA) {
- setImmediate(function() {
- t._gesture.stop()
- });
- return
- }
- if (!f || Number(new Date) - a > 500) {
- e.preventDefault();
- if (!p && n.transitions) {
- n.vars.animationLoop || (u = m / (n.currentSlide === 0 && m < 0 || n.currentSlide === n.last && m > 0 ? Math.abs(m) / o + 2 : 1));
- n.setProps(i + u, "setTouch")
- }
- }
- }
- function S(t) {
- t.stopPropagation();
- var r = t.target._slider;
- if (!r)
- return;
- if (r.animatingTo === r.currentSlide && !f && u !== null) {
- var s = c ? -u : u, l = s > 0 ? r.getTarget("next") : r.getTarget("prev");
- r.canAdvance(l) && (Number(new Date) - a < 550 && Math.abs(s) > 50 || Math.abs(s) > o / 2) ? r.flexAnimate(l, r.vars.pauseOnAction) : p || r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, !0)
- }
- e = null;
- n = null;
- u = null;
- i = null;
- m = 0
- }}
- }, resize: function() {
- if (!r.animating && r.is(":visible")) {
- h || r.doMath();
- if (p)
- v.smoothHeight();
- else if (h) {
- r.slides.width(r.computedW);
- r.update(r.pagingCount);
- r.setProps()
- } else if (l) {
- r.viewport.height(r.h);
- r.setProps(r.h, "setTotal")
- } else {
- r.vars.smoothHeight && v.smoothHeight();
- r.newSlides.width(r.computedW);
- r.setProps(r.computedW, "setTotal")
- }
- }
- }, smoothHeight: function(e) {
- if (!l || p) {
- var t = p ? r : r.viewport;
- e ? t.animate({height: r.slides.eq(r.animatingTo).height()}, e) : t.height(r.slides.eq(r.animatingTo).height())
- }
- }, sync: function(t) {
- var n = e(r.vars.sync).data("flexslider"), i = r.animatingTo;
- switch (t) {
- case"animate":
- n.flexAnimate(i, r.vars.pauseOnAction, !1, !0);
- break;
- case"play":
- !n.playing && !n.asNav && n.play();
- break;
- case"pause":
- n.pause()
- }
- }, pauseInvisible: {visProp: null, init: function() {
- var e = ["webkit", "moz", "ms", "o"];
- if ("hidden"in document)
- return"hidden";
- for (var t = 0; t < e.length; t++)
- e[t] + "Hidden"in document && (v.pauseInvisible.visProp = e[t] + "Hidden");
- if (v.pauseInvisible.visProp) {
- var n = v.pauseInvisible.visProp.replace(/[H|h]idden/, "") + "visibilitychange";
- document.addEventListener(n, function() {
- v.pauseInvisible.isHidden() ? r.startTimeout ? clearTimeout(r.startTimeout) : r.pause() : r.started ? r.play() : r.vars.initDelay > 0 ? setTimeout(r.play, r.vars.initDelay) : r.play()
- })
- }
- }, isHidden: function() {
- return document[v.pauseInvisible.visProp] || !1
- }}, setToClearWatchedEvent: function() {
- clearTimeout(f);
- f = setTimeout(function() {
- a = ""
- }, 3e3)
- }};
- r.flexAnimate = function(t, n, s, u, a) {
- !r.vars.animationLoop && t !== r.currentSlide && (r.direction = t > r.currentSlide ? "next" : "prev");
- d && r.pagingCount === 1 && (r.direction = r.currentItem < t ? "next" : "prev");
- if (!r.animating && (r.canAdvance(t, a) || s) && r.is(":visible")) {
- if (d && u) {
- var f = e(r.vars.asNavFor).data("flexslider");
- r.atEnd = t === 0 || t === r.count - 1;
- f.flexAnimate(t, !0, !1, !0, a);
- r.direction = r.currentItem < t ? "next" : "prev";
- f.direction = r.direction;
- if (Math.ceil((t + 1) / r.visible) - 1 === r.currentSlide || t === 0) {
- r.currentItem = t;
- r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
- return!1
- }
- r.currentItem = t;
- r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
- t = Math.floor(t / r.visible)
- }
- r.animating = !0;
- r.animatingTo = t;
- n && r.pause();
- r.vars.before(r);
- r.syncExists && !a && v.sync("animate");
- r.vars.controlNav && v.controlNav.active();
- h || r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
- r.atEnd = t === 0 || t === r.last;
- r.vars.directionNav && v.directionNav.update();
- if (t === r.last) {
- r.vars.end(r);
- r.vars.animationLoop || r.pause()
- }
- if (!p) {
- var m = l ? r.slides.filter(":first").height() : r.computedW, g, y, b;
- if (h) {
- g = r.vars.itemMargin;
- b = (r.itemW + g) * r.move * r.animatingTo;
- y = b > r.limit && r.visible !== 1 ? r.limit : b
- } else
- r.currentSlide === 0 && t === r.count - 1 && r.vars.animationLoop && r.direction !== "next" ? y = c ? (r.count + r.cloneOffset) * m : 0 : r.currentSlide === r.last && t === 0 && r.vars.animationLoop && r.direction !== "prev" ? y = c ? 0 : (r.count + 1) * m : y = c ? (r.count - 1 - t + r.cloneOffset) * m : (t + r.cloneOffset) * m;
- r.setProps(y, "", r.vars.animationSpeed);
- if (r.transitions) {
- if (!r.vars.animationLoop || !r.atEnd) {
- r.animating = !1;
- r.currentSlide = r.animatingTo
- }
- r.container.unbind("webkitTransitionEnd transitionend");
- r.container.bind("webkitTransitionEnd transitionend", function() {
- r.wrapup(m)
- })
- } else
- r.container.animate(r.args, r.vars.animationSpeed, r.vars.easing, function() {
- r.wrapup(m)
- })
- } else if (!o) {
- r.slides.eq(r.currentSlide).css({zIndex: 1}).animate({opacity: 0}, r.vars.animationSpeed, r.vars.easing);
- r.slides.eq(t).css({zIndex: 2}).animate({opacity: 1}, r.vars.animationSpeed, r.vars.easing, r.wrapup)
- } else {
- r.slides.eq(r.currentSlide).css({opacity: 0, zIndex: 1});
- r.slides.eq(t).css({opacity: 1, zIndex: 2});
- r.wrapup(m)
- }
- r.vars.smoothHeight && v.smoothHeight(r.vars.animationSpeed)
- }
- };
- r.wrapup = function(e) {
- !p && !h && (r.currentSlide === 0 && r.animatingTo === r.last && r.vars.animationLoop ? r.setProps(e, "jumpEnd") : r.currentSlide === r.last && r.animatingTo === 0 && r.vars.animationLoop && r.setProps(e, "jumpStart"));
- r.animating = !1;
- r.currentSlide = r.animatingTo;
- r.vars.after(r)
- };
- r.animateSlides = function() {
- !r.animating && m && r.flexAnimate(r.getTarget("next"))
- };
- r.pause = function() {
- clearInterval(r.animatedSlides);
- r.animatedSlides = null;
- r.playing = !1;
- r.vars.pausePlay && v.pausePlay.update("play");
- r.syncExists && v.sync("pause")
- };
- r.play = function() {
- r.playing && clearInterval(r.animatedSlides);
- r.animatedSlides = r.animatedSlides || setInterval(r.animateSlides, r.vars.slideshowSpeed);
- r.started = r.playing = !0;
- r.vars.pausePlay && v.pausePlay.update("pause");
- r.syncExists && v.sync("play")
- };
- r.stop = function() {
- r.pause();
- r.stopped = !0
- };
- r.canAdvance = function(e, t) {
- var n = d ? r.pagingCount - 1 : r.last;
- return t ? !0 : d && r.currentItem === r.count - 1 && e === 0 && r.direction === "prev" ? !0 : d && r.currentItem === 0 && e === r.pagingCount - 1 && r.direction !== "next" ? !1 : e === r.currentSlide && !d ? !1 : r.vars.animationLoop ? !0 : r.atEnd && r.currentSlide === 0 && e === n && r.direction !== "next" ? !1 : r.atEnd && r.currentSlide === n && e === 0 && r.direction === "next" ? !1 : !0
- };
- r.getTarget = function(e) {
- r.direction = e;
- return e === "next" ? r.currentSlide === r.last ? 0 : r.currentSlide + 1 : r.currentSlide === 0 ? r.last : r.currentSlide - 1
- };
- r.setProps = function(e, t, n) {
- var i = function() {
- var n = e ? e : (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo, i = function() {
- if (h)
- return t === "setTouch" ? e : c && r.animatingTo === r.last ? 0 : c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : r.animatingTo === r.last ? r.limit : n;
- switch (t) {
- case"setTotal":
- return c ? (r.count - 1 - r.currentSlide + r.cloneOffset) * e : (r.currentSlide + r.cloneOffset) * e;
- case"setTouch":
- return c ? e : e;
- case"jumpEnd":
- return c ? e : r.count * e;
- case"jumpStart":
- return c ? r.count * e : e;
- default:
- return e
- }
- }();
- i = Math.round(i)
- return i * -1 + "px"
- }();
- if (r.transitions) {
- i = l ? "translate3d(0," + i + ",0)" : "translate3d(" + i + ",0,0)";
- n = n !== undefined ? n / 1e3 + "s" : "0s";
- r.container.css("-" + r.pfx + "-transition-duration", n)
- }
- r.args[r.prop] = i;
- (r.transitions || n === undefined) && r.container.css(r.args)
- };
- r.setup = function(t) {
- if (!p) {
- var n, s;
- if (t === "init") {
- r.viewport = e('<div class="' + i + 'viewport"></div>').css({overflow: "hidden", position: "relative"}).appendTo(r).append(r.container);
- r.cloneCount = 0;
- r.cloneOffset = 0;
- if (c) {
- s = e.makeArray(r.slides).reverse();
- r.slides = e(s);
- r.container.empty().append(r.slides)
- }
- }
- if (r.vars.animationLoop && !h) {
- r.cloneCount = 2;
- r.cloneOffset = 1;
- t !== "init" && r.container.find(".clone").remove();
- r.container.append(r.slides.first().clone().addClass("clone").attr("aria-hidden", "true")).prepend(r.slides.last().clone().addClass("clone").attr("aria-hidden", "true"))
- }
- r.newSlides = e(r.vars.selector, r);
- n = c ? r.count - 1 - r.currentSlide + r.cloneOffset : r.currentSlide + r.cloneOffset;
- if (l && !h) {
- r.container.height((r.count + r.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
- setTimeout(function() {
- r.newSlides.css({display: "block"});
- r.doMath();
- r.viewport.height(r.h);
- r.setProps(n * r.h, "init")
- }, t === "init" ? 100 : 0)
- } else {
- r.container.width((r.count + r.cloneCount) * 200 + "%");
- r.setProps(n * r.computedW, "init");
- setTimeout(function() {
- r.doMath();
- r.newSlides.css({width: r.computedW, "float": "left", display: "block"});
- r.vars.smoothHeight && v.smoothHeight()
- }, t === "init" ? 100 : 0)
- }
- } else {
- r.slides.css({width: "100%", "float": "left", marginRight: "-100%", position: "relative"});
- t === "init" && (o ? r.slides.css({opacity: 0, display: "block", webkitTransition: "opacity " + r.vars.animationSpeed / 1e3 + "s ease", zIndex: 1}).eq(r.currentSlide).css({opacity: 1, zIndex: 2}) : r.slides.css({opacity: 0, display: "block", zIndex: 1}).eq(r.currentSlide).css({zIndex: 2}).animate({opacity: 1}, r.vars.animationSpeed, r.vars.easing));
- r.vars.smoothHeight && v.smoothHeight()
- }
- h || r.slides.removeClass(i + "active-slide").eq(r.currentSlide).addClass(i + "active-slide")
- };
- r.doMath = function() {
- var e = r.slides.first(), t = r.vars.itemMargin, n = r.vars.minItems, i = r.vars.maxItems;
- r.w = r.viewport === undefined ? r.width() : r.viewport.width();
- r.h = e.height();
- r.boxPadding = e.outerWidth() - e.width();
- if (h) {
- r.itemT = r.vars.itemWidth + t;
- r.minW = n ? n * r.itemT : r.w;
- r.maxW = i ? i * r.itemT - t : r.w;
- r.itemW = r.minW > r.w ? (r.w - t * (n - 1)) / n : r.maxW < r.w ? (r.w - t * (i - 1)) / i : r.vars.itemWidth > r.w ? r.w : r.vars.itemWidth;
- r.visible = Math.floor(r.w / r.itemW);
- r.move = r.vars.move > 0 && r.vars.move < r.visible ? r.vars.move : r.visible;
- r.pagingCount = Math.ceil((r.count - r.visible) / r.move + 1);
- r.last = r.pagingCount - 1;
- r.limit = r.pagingCount === 1 ? 0 : r.vars.itemWidth > r.w ? r.itemW * (r.count - 1) + t * (r.count - 1) : (r.itemW + t) * r.count - r.w - t
- } else {
- r.itemW = r.w;
- r.pagingCount = r.count;
- r.last = r.count - 1
- }
- r.computedW = r.itemW - r.boxPadding
- };
- r.update = function(e, t) {
- r.doMath();
- if (!h) {
- e < r.currentSlide ? r.currentSlide += 1 : e <= r.currentSlide && e !== 0 && (r.currentSlide -= 1);
- r.animatingTo = r.currentSlide
- }
- if (r.vars.controlNav && !r.manualControls)
- if (t === "add" && !h || r.pagingCount > r.controlNav.length)
- v.controlNav.update("add");
- else if (t === "remove" && !h || r.pagingCount < r.controlNav.length) {
- if (h && r.currentSlide > r.last) {
- r.currentSlide -= 1;
- r.animatingTo -= 1
- }
- v.controlNav.update("remove", r.last)
- }
- r.vars.directionNav && v.directionNav.update()
- };
- r.addSlide = function(t, n) {
- var i = e(t);
- r.count += 1;
- r.last = r.count - 1;
- l && c ? n !== undefined ? r.slides.eq(r.count - n).after(i) : r.container.prepend(i) : n !== undefined ? r.slides.eq(n).before(i) : r.container.append(i);
- r.update(n, "add");
- r.slides = e(r.vars.selector + ":not(.clone)", r);
- r.setup();
- r.vars.added(r)
- };
- r.removeSlide = function(t) {
- var n = isNaN(t) ? r.slides.index(e(t)) : t;
- r.count -= 1;
- r.last = r.count - 1;
- isNaN(t) ? e(t, r.slides).remove() : l && c ? r.slides.eq(r.last).remove() : r.slides.eq(t).remove();
- r.doMath();
- r.update(n, "remove");
- r.slides = e(r.vars.selector + ":not(.clone)", r);
- r.setup();
- r.vars.removed(r)
- };
- r.setOpts = function(opts) {
- for (var opt in opts) {
- r.vars[opt] = opts[opt];
- }
- r.setup();
- };
- r.getOpts = function() {
- return r.vars;
- };
- r.refresh = function() {
- r.args[r.prop] = "translate3d(0,0,0)";
- (r.transitions || n === undefined) && r.container.css(r.args);
- r.animatingTo = 0;
- r.pagingCount = 0;
- r.currentSlide = 0;
- };
- v.init()
- };
- e(window).blur(function(e) {
- focused = !1
- }).focus(function(e) {
- focused = !0
- });
- e.flexslider.defaults = {namespace: "flex-", selector: ".slides > li", animation: "fade", easing: "swing", direction: "horizontal", reverse: !1, animationLoop: !0, smoothHeight: !1, startAt: 0, slideshow: !0, slideshowSpeed: 7e3, animationSpeed: 600, initDelay: 0, randomize: !1, thumbCaptions: !1, pauseOnAction: !0, pauseOnHover: !1, pauseInvisible: !0, useCSS: !0, touch: !0, video: !1, controlNav: !0, directionNav: !0, prevText: "Previous", nextText: "Next", keyboard: !0, multipleKeyboard: !1, mousewheel: !1, pausePlay: !1, pauseText: "Pause", playText: "Play", controlsContainer: "", manualControls: "", sync: "", asNavFor: "", itemWidth: 0, itemMargin: 0, minItems: 1, maxItems: 0, move: 0, allowOneSlide: !0, start: function() {
- }, before: function() {
- }, after: function() {
- }, end: function() {
- }, added: function() {
- }, removed: function() {
- }};
- e.fn.flexslider = function(t) {
- t === undefined && (t = {});
- if (typeof t == "object")
- return this.each(function() {
- var n = e(this), r = t.selector ? t.selector : ".slides > li", i = n.find(r);
- if (i.length === 1 && t.allowOneSlide === !0 || i.length === 0) {
- i.fadeIn(400);
- t.start && t.start(n)
- } else
- n.data("flexslider") === undefined && new e.flexslider(this, t)
- });
- var n = e(this).data("flexslider");
- switch (t) {
- case"play":
- n.play();
- break;
- case"pause":
- n.pause();
- break;
- case"stop":
- n.stop();
- break;
- case"next":
- n.flexAnimate(n.getTarget("next"), !0);
- break;
- case"prev":
- case"previous":
- n.flexAnimate(n.getTarget("prev"), !0);
- break;
- default:
- typeof t == "number" && n.flexAnimate(t, !0)
- }
- }
- })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement