1/* 2 * loopedSlider 0.5.4 - jQuery plugin 3 * written by Nathan Searles 4 * http://nathansearles.com/loopedslider/ 5 * 6 * Copyright (c) 2009 Nathan Searles (http://nathansearles.com/) 7 * Dual licensed under the MIT (MIT-LICENSE.txt) 8 * and GPL (GPL-LICENSE.txt) licenses. 9 * 10 * Built for jQuery library 11 * http://jquery.com 12 * 13 */ 14 15/* 16 * markup example for $("#loopedSlider").loopedSlider(); 17 * 18 * <div id="loopedSlider"> 19 * <div class="container"> 20 * <div class="slides"> 21 * <div><img src="01.jpg" alt="" /></div> 22 * <div><img src="02.jpg" alt="" /></div> 23 * <div><img src="03.jpg" alt="" /></div> 24 * <div><img src="04.jpg" alt="" /></div> 25 * </div> 26 * </div> 27 * <a href="#" class="previous">previous</a> 28 * <a href="#" class="next">next</a> 29 * <ul class="pagination"> 30 * <li><a href="#">1</a></li> 31 * <li><a href="#">2</a></li> 32 * <li><a href="#">3</a></li> 33 * <li><a href="#">4</a></li> 34 * </ul> 35 * </div> 36 * 37*/ 38 39(function($) { 40 $.fn.loopedSlider = function(options) { 41 42 var defaults = { 43 container: '.container', 44 slides: '.slides', 45 pagination: '.pagination', 46 containerClick: true, // Click container for next slide 47 autoStart: 4000, // Set to positive number for auto start and interval time 48 restart: 4000, // Set to positive number for restart and restart time 49 slidespeed: 500, // Speed of slide animation 50 fadespeed: 1000, // Speed of fade animation 51 autoHeight: false // Set to positive number for auto height and animation speed 52 }; 53 54 this.each(function() { 55 56 var obj = $(this); 57 var o = $.extend(defaults, options); 58 var pagination = $(o.pagination+' li a',obj); 59 var m = 0; 60 var t = 1; 61 var s = $(o.slides,obj).children().size(); 62 var w = $(o.slides,obj).children().outerWidth(); 63 var p = 0; 64 var u = false; 65 var n = 0; 66 var interval=0; 67 var restart=0; 68 69 $(o.slides,obj).css({width:(s*w)}); 70 71 $(o.slides,obj).children().each(function(){ 72 $(this).css({position:'absolute',left:p,display:'block'}); 73 p=p+w; 74 }); 75 76 $(pagination,obj).each(function(){ 77 n=n+1; 78 $(this).attr('rel',n); 79 $(pagination.eq(0),obj).parent().addClass('active'); 80 }); 81 82 $(o.slides,obj).children(':eq('+(s-1)+')').css({position:'absolute',left:-w}); 83 84 if (s>3) { 85 $(o.slides,obj).children(':eq('+(s-1)+')').css({position:'absolute',left:-w}); 86 } 87 88 if(o.autoHeight){autoHeight(t);} 89 90 $('.next',obj).click(function(){ 91 if(u===false) { 92 animate('next',true); 93 if(o.autoStart){ 94 if (o.restart) {autoStart();} 95 else {clearInterval(sliderIntervalID);} 96 } 97 } return false; 98 }); 99 100 $('.previous',obj).click(function(){ 101 if(u===false) { 102 animate('prev',true); 103 if(o.autoStart){ 104 if (o.restart) {autoStart();} 105 else {clearInterval(sliderIntervalID);} 106 } 107 } return false; 108 }); 109 110 /*if (o.containerClick) { 111 $(o.container ,obj).click(function(){ 112 if(u===false) { 113 animate('next',true); 114 if(o.autoStart){ 115 if (o.restart) {autoStart();} 116 else {clearInterval(sliderIntervalID);} 117 } 118 } return false; 119 }); 120 }*/ 121 122 $(pagination,obj).click(function(){ 123 if ($(this).parent().hasClass('active')) {return false;} 124 else { 125 t = $(this).attr('rel'); 126 $(pagination,obj).parent().siblings().removeClass('active'); 127 $(this).parent().addClass('active'); 128 animate('fade',t); 129 if(o.autoStart){ 130 if (o.restart) {autoStart();} 131 else {clearInterval(sliderIntervalID);} 132 } 133 } return false; 134 }); 135 136 if (o.autoStart) { 137 sliderIntervalID = setInterval(function(){ 138 if(u===false) {animate('next',true);} 139 }, o.autoStart); 140 function autoStart() { 141 if (o.restart) { 142 clearInterval(sliderIntervalID); 143 clearInterval(interval); 144 clearTimeout(restart); 145 restart = setTimeout(function() { 146 interval = setInterval( function(){ 147 animate('next',true); 148 },o.autoStart); 149 },o.restart); 150 } else { 151 sliderIntervalID = setInterval(function(){ 152 if(u===false) {animate('next',true);} 153 },o.autoStart); 154 } 155 }; 156 } 157 158 function current(t) { 159 if(t===s+1){t=1;} 160 if(t===0){t=s;} 161 $(pagination,obj).parent().siblings().removeClass('active'); 162 $(pagination+'[rel="' + (t) + '"]',obj).parent().addClass('active'); 163 }; 164 165 function autoHeight(t) { 166 if(t===s+1){t=1;} 167 if(t===0){t=s;} 168 var getHeight = $(o.slides,obj).children(':eq('+(t-1)+')',obj).outerHeight(); 169 $(o.container,obj).animate({height: getHeight},o.autoHeight); 170 }; 171 172 function animate(dir,clicked){ 173 u = true; 174 switch(dir){ 175 case 'next': 176 t = t+1; 177 m = (-(t*w-w)); 178 current(t); 179 if(o.autoHeight){autoHeight(t);} 180 if(s<3){ 181 if (t===3){$(o.slides,obj).children(':eq(0)').css({left:(s*w)});} 182 if (t===2){$(o.slides,obj).children(':eq('+(s-1)+')').css({position:'absolute',left:(w)});} 183 } 184 $(o.slides,obj).animate({left: m}, o.slidespeed,function(){ 185 if (t===s+1) { 186 t = 1; 187 $(o.slides,obj).css({left:0},function(){$(o.slides,obj).animate({left:m})}); 188 $(o.slides,obj).children(':eq(0)').css({left: 0}); 189 $(o.slides,obj).children(':eq('+(s-1)+')').css({ position:'absolute',left:-w}); 190 } 191 if (t===s) $(o.slides,obj).children(':eq(0)').css({left:(s*w)}); 192 if (t===s-1) $(o.slides,obj).children(':eq('+(s-1)+')').css({left:s*w-w}); 193 u = false;
194 }); 195 break; 196 case 'prev': 197 t = t-1; 198 m = (-(t*w-w)); 199 current(t); 200 if(o.autoHeight){autoHeight(t);} 201 if (s<3){ 202 if(t===0){$(o.slides,obj).children(':eq('+(s-1)+')').css({position:'absolute',left:(-w)});} 203 if(t===1){$(o.slides,obj).children(':eq(0)').css({position:'absolute',left:0});} 204 } 205 $(o.slides,obj).animate({left: m}, o.slidespeed,function(){ 206 if (t===0) { 207 t = s; 208 $(o.slides,obj).children(':eq('+(s-1)+')').css({position:'absolute',left:(s*w-w)}); 209 $(o.slides,obj).css({left: -(s*w-w)}); 210 $(o.slides,obj).children(':eq(0)').css({left:(s*w)}); 211 } 212 if (t===2 ) $(o.slides,obj).children(':eq(0)').css({position:'absolute',left:0}); 213 if (t===1) $(o.slides,obj).children(':eq('+ (s-1) +')').css({position:'absolute',left:-w}); 214 u = false; 215 }); 216 break; 217 case 'fade': 218 t = [t]*1; 219 m = (-(t*w-w)); 220 current(t); 221 if(o.autoHeight){autoHeight(t);} 222 $(o.slides,obj).children().fadeOut(o.fadespeed, function(){ 223 $(o.slides,obj).css({left: m}); 224 $(o.slides,obj).children(':eq('+(s-1)+')').css({left:s*w-w}); 225 $(o.slides,obj).children(':eq(0)').css({left:0}); 226 if(t===s){$(o.slides,obj).children(':eq(0)').css({left:(s*w)});} 227 if(t===1){$(o.slides,obj).children(':eq('+(s-1)+')').css({ position:'absolute',left:-w});} 228 $(o.slides,obj).children().fadeIn(o.fadespeed); 229 u = false; 230 }); 231 break; 232 default: 233 break; 234 } 235 }; 236 }); 237 }; 238})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.