This repository was archived by the owner on Aug 1, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.fluidSlider.min.js
1 lines (1 loc) · 2.94 KB
/
jquery.fluidSlider.min.js
1
!function(a){"use strict";function f(b,c){this.element=b,this.$el=a(b),this._defaults=e,this._name="fluidSlider",this.options=a.extend({},e,{delay:this.$el.data("delay"),autoPlay:this.$el.data("autoPlay"),initial:this.$el.data("initial")},c),this.init()}var e={delay:5e3,autoPlay:!1,nav:"",initial:0};f.prototype={init:function(){this.$list=this.$el.find("ul"),this.$items=this.$list.children(),this.size=this.$items.length,this.size&&(this.$el.addClass("fluidSlider"),this.$list.css("width",100*this.size+"%"),this.$items.css("width",100/this.size+"%"),this.initNav(),this.play=!1,this.current=0,this.options.initial!=this.current&&this.index(this.options.initial),this.options.autoPlay&&this.start())},start:function(){"undefined"==typeof this.current&&(this.current=0),this.play=!0,this._schedule()},stop:function(){this.play=!1,this._clearSchedule()},index:function(a){return"undefined"==typeof a?this.current:(this.current!=a&&(this.current=a%(this.size+1),this._slide()),void 0)},prev:function(){var a=this.index()||this.size;this.index(a-1)},next:function(){var a=this.index();this.index(a+1)},playing:function(){return this.play},destroy:function(){this._clearSchedule(),this.$el.off(".fluidSlider"),this.$el.removeData()},_slide:function(){this._clearSchedule(),this._animate(this.current),this.play&&this.current!=this.size&&this._schedule()},_schedule:function(){var b=a(this.$items[this.current]).data("delay")||this.options.delay;this._sliderProgram=setTimeout(a.proxy(this.next,this),b)},_clearSchedule:function(){clearTimeout(this._sliderProgram)},_animate:function(a){var c,b=this;a==this.size&&(c=function(){b._reset(),b.index(0)}),this.$list.animate({"margin-left":-100*a+"%"},{duration:"slow",complete:c,done:function(){b._updateNav(a),b.$el.trigger("updated.fluidSlider",{value:a})}})},_slideStep:function(b,c){a(b.elem).css("opacity",2*Math.abs(.5-c))},_reset:function(){this.$list.css("visibility","hidden").css("margin-left","100%").css("visibility","visible")},initNav:function(){"string"==typeof this.options.nav||this.options.nav instanceof Element?this.$navItems=a(this.options.nav).children():this.options.nav instanceof jQuery&&(this.$navItems=this.options.nav.children()),(this.$navSize=this.$navItems.length)&&(a.each(this.$navItems,function(b,c){a(c).data("fluidSlider.Nav-index",b)}),this.$navItems.on("click",a.proxy(this._clickNav,this)))},_clickNav:function(b){b.preventDefault(),this._clearSchedule();var c=a(b.currentTarget).data("fluidSlider.Nav-index");this.index(c)},_updateNav:function(b){b<this.$navSize&&(this.$navItems.find("a.is-active").removeClass("is-active"),a(this.$navItems[b]).find("a").addClass("is-active"))}},a.fn.fluidSlider=function(b){var d,c=arguments;return this.each(function(){var e=a(this),g=a.data(this,"plugin_fluidSlider"),h="object"==typeof b&&b;g||e.data("plugin_fluidSlider",g=new f(this,h)),"string"==typeof b&&b.length&&"_"!=b[0]&&(d=g[b].apply(g,Array.prototype.slice.call(c,1)))}),"undefined"!=typeof d?d:this}}(jQuery,window,document);