UNPKG

sliderplex

Version:

A simple and responsive jQuery content slider plugin

1 lines 2.29 kB
(function(f){var k,e,i,d,n="active",c="new",l="old",a=".slider-plex",j=".arrow",h=0,m,b=false,g={slideInterval:8,autoPlay:true,animation:"fade",animationTime:0.5,direction:"right",arrows:true,nonFocusArrows:false,pauseOnMouseOver:false,pauseOnMouseDown:true,fillSpace:false};f.fn.SliderPlex=function(r){f.extend(g,r);k=f(this);function P(){e=k.find("> ul");i=e.find("> li");k.addClass("slider-plex");e.addClass("slides");m=i.length;q();H();if(g.arrows){R()}if(g.fillSpace){z()}if(g.pauseOnMouseOver){u()}if(g.pauseOnMouseDown){U()}if(g.autoPlay){Q()}}function q(){x().addClass(n)}function R(){t();if(g.nonFocusArrows){A()}if(g.autoPlay){f(j).on("click",function(X){X.preventDefault();Q()})}f(j+"-right").on("click",function(X){X.preventDefault();D()});f(j+"-left").on("click",function(X){X.preventDefault();W()})}function u(){f(a).on("mouseover",function(){b=true}).on("mouseout",function(){b=false})}function U(){f(a).on("mousedown",function(){b=true}).on("mouseup",function(){b=false})}function t(){k.append('<a href="#" class="arrow arrow-left"></a><a href="#" class="arrow arrow-right"></a>')}function A(){f(j).addClass("non-focus")}function z(){e.addClass("full-height")}function H(){f("head").append("<style>."+B()+" ."+l+",."+B()+" ."+c+" {animation-duration:"+N()+"ms}</style>");e.addClass(B())}function Q(){if(d){clearInterval(d)}var X=function(Y){d=setInterval(Y,E())};if(s()){X(D)}else{X(W)}}function N(){return g.animationTime*1000}function s(){return g.direction==="right"}function E(){return g.slideInterval*1000}function J(Y){var X=x();p(X);L(Y);setTimeout(function(){K(X);v(Y);S(X);I(Y)},N())}function p(X){X.addClass(l)}function S(X){X.removeClass(l)}function L(X){X.addClass(c)}function I(X){X.removeClass(c)}function K(X){X.removeClass(n)}function v(X){X.addClass(n)}function y(){return b}function W(){var X=M();if(!y()){J(X);F()}}function D(){var X=w();if(!y()){J(X);T()}}function B(){return g.animation}function C(X){return f(i[X])}function G(X){return i.hasOwnProperty(X)}function x(){return C(h)}function M(){var X=h-1;return G(X)?C(X):V()}function w(){var X=h+1;return G(X)?C(X):O()}function O(){return C(0)}function V(){return C(o())}function o(){return m-1}function T(){if(h===o()){h=0}else{h++}}function F(){if(h===0){h=o()}else{h--}}P();return k}})(jQuery);