-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathjquery.tinycarousel.min.js
More file actions
15 lines (15 loc) · 2.7 KB
/
jquery.tinycarousel.min.js
File metadata and controls
15 lines (15 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
* Tiny Carousel 1.9
* http://www.baijs.nl/tinycarousel
*
* Copyright 2010, Maarten Baijs
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://www.opensource.org/licenses/mit-license.php
* http://www.opensource.org/licenses/gpl-2.0.php
*
* Modified: 25/09/2012 @lotsofcode
* Dependencies: jQuery 1.7
*
* Minified by: http://jscompress.com/
*/
;(function(e){"use strict";function t(t,n){function g(){if(n.controls){a.toggleClass("disable",h<=0);u.toggleClass("disable",!(h+1<c))}if(n.pager){var t=e(".pagenum",f);t.removeClass("active");e(t[h]).addClass("active")}}function y(t){if(e(this).hasClass("pagenum")){r.move(parseInt(this.rel,10),true)}return false}function b(){if(n.interval&&!d){clearTimeout(p);p=setTimeout(function(){h=h+1===c?-1:h;v=h+1===c?false:h===0?true:v;r.move(v?1:-1)},n.intervaltime)}}function w(){a.off("click.tcl");u.off("click.tcl");if(n.controls&&a.length>0&&u.length>0){a.on("click.tcl",function(e){r.move(-1);e.preventDefault()});u.on("click.tcl",function(e){r.move(1);e.preventDefault()})}if(n.interval){t.hover(r.stop,r.start)}if(n.pager&&f.length>0){e("a",f).click(y)}}function E(){l=m?e(o[0]).outerWidth(true):e(o[0]).outerHeight(true);var t=Math.ceil((m?i.outerWidth():i.outerHeight())/(l*n.display)-1);c=Math.max(1,Math.ceil(o.length/n.display)-t);h=Math.min(c,Math.max(1,n.start))-2;s.css(m?"width":"height",l*o.length);r.move(1);w();return r}var r=this,i=e(".viewport:first",t),s=e(".overview:first",t),o=s.children(),u=e(".next:first",t),a=e(".prev:first",t),f=e(".pager:first",t),l=0,c=0,h=0,p=undefined,d=false,v=true,m=n.axis==="x";this.stop=function(){clearTimeout(p);d=true};this.start=function(){d=false;b()};this.destroy=function(){this.stop();if(n.interval){t.unbind("mouseenter mouseleave")}if(n.pager&&f.length>0){e("a",f).unbind("click")}var r={};r[m?"left":"top"]=0;s.animate(r,{queue:false,duration:0})};this.move=function(e,t){var r=h;r=t?e:r+=e;if(r>-1&&r<c){h=r;var i={};i[m?"left":"top"]=-(h*l*n.display);s.animate(i,{queue:false,duration:n.animation?n.duration:0,complete:function(){if(typeof n.callback==="function"){n.callback.call(this,o[h],h)}}});g();b()}};return E()}e.tiny=e.tiny||{};e.tiny.carousel={options:{start:1,display:1,axis:"x",controls:true,pager:false,interval:false,intervaltime:3e3,rewind:false,animation:true,duration:1e3,callback:null}};e.fn.tinycarousel_start=function(){e(this).data("tcl").start()};e.fn.tinycarousel_stop=function(){e(this).data("tcl").stop()};e.fn.tinycarousel_move=function(t){e(this).data("tcl").move(t-1,true)};e.fn.tinycarousel_destroy=function(){e(this).data("tcl").destroy()};e.fn.tinycarousel=function(n){var r=e.extend({},e.tiny.carousel.options,n);this.each(function(){e(this).data("tcl",new t(e(this),r))});return this}})(jQuery);