1/** 2 * [bose.slider.js] 3 * @param {[plugin]} $ [div background slider] 4 * @author {[Hadi]} [http://habibhadi.com] 5 * @github https://github.com/im4aLL/bose 6 * @version 1.5 7 */ 8;(function($){var prefix='bose',wrapClass=prefix+'-wrapper',sliderClass=prefix+'-slider',holderClass=prefix+'-holder',settings={},currentImageIndex=0,prevImgIndex=0,objWH={},wWidth=$(window).width(),wHeight=$(window).height(),sliding=null,sliderStarted=false,previousTriggered=false,pauseTriggered=false,thumbWH={width:100,height:50};var methods={init:function(options){settings=$.extend({images:null,imageTitles:[],wrapClass:wrapClass,sliderClass:sliderClass,holderClass:holderClass,startIndex:0,transition:'fade',timeout:5,duration:2,pagination:{show:false,container:'.'+prefix+'-numeric-control',text:true},thumbs:{show:true,container:'.'+prefix+'-image-thumbs',dimension:{width:thumbWH.width,height:thumbWH.height},text:false},onComplete:function(){},onSlideStart:function(){},onSlideEnd:function(){},onPause:function(){},autofit:true,full:false,responsive:true},options);this.each(function(index,el){objWH=getWidthHeight(this);$(this).addClass(settings.sliderClass).css({'z-index':1}).wrap('<div class="'+settings.wrapClass+'" style="position: relative; overflow: hidden;" />');$('.'+settings.wrapClass).prepend('<div class="'+settings.holderClass+'" style="position: absolute; top: 0; left: 0; z-index: 1;"></div>');var holderElem=$('.'+settings.wrapClass).children('.'+settings.holderClass);if(settings.full===false){if(settings.responsive===false){holderElem.css({width:objWH.width+'px',height:objWH.height+'px'});} 9else if(settings.responsive===true){holderElem.css({width:'100%',height:objWH.height+'px'});}} 10else{holderElem.css({width:'100%',height:'100vh'});} 11currentImageIndex=settings.startIndex;$(this).bose('play');if(settings.pagination.show===true)showPagination();if(settings.thumbs.show===true)showThumbPagination();if(settings.onComplete)settings.onComplete.call(this);});return this;},play:function(){if(pauseTriggered===false)showImage(currentImageIndex++);sliding=setInterval(function(){nextTrigger();},settings.timeout*3500);pauseTriggered=false;},pause:function(){pauseTrigger();if(settings.onPause)settings.onPause.call(this);},next:function(){pauseTrigger();nextTrigger();},previous:function(){pauseTrigger();prevTrigger();}};$.fn.bose=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1));}else if(typeof method==='object'||!method){return methods.init.apply(this,arguments);}else{$.error('Method '+method+' does not exist on jQuery.boseSlider');}} 12function getWidthHeight(elem){return container={width:$(elem).width(),height:$(elem).height()};} 13$.fn.bose.preloadImages=function(imageArray){var preloaderArea=prefix+'-hiddenImages';$('body').append('<div id="'+preloaderArea+'" style="display:none"></div>');for(var i=0;i<imageArray.length;i++){$('<img />').attr({src:imageArray[i],alt:''}).appendTo('#'+preloaderAreaMain).hide();}} 14function fitImg(img){var scaledWidth=(img.width*objWH.height)/ img.height;var scaledHeight=(img.height*objWH.width)/ img.width;if(scaledWidth<objWH.width&&scaledHeight>objWH.height){var calculatedPosition=(scaledHeight-objWH.height)/2;if(calculatedPosition<0)calculatedPosition=0;return'width:'+objWH.width+'px; top:-'+calculatedPosition+'px';} 15else if(scaledWidth>objWH.width&&scaledHeight<objWH.height){var calculatedPosition=(scaledWidth-objWH.width)/2;if(calculatedPosition<0)calculatedPosition=0;return'height:'+objWH.height+'px; left:-'+calculatedPosition+'px';} 16else return'height:'+objWH.height+'px; width:'+objWH.width+'px;';} 17function showImage(currentImageIndex){var img=new Image();img.src=settings.images[currentImageIndex];img.onload=function(){switch(settings.transition){case'fade':var prevImg=$('.'+settings.holderClass).children();if(prevImg.length>0){prevImg.stop().animate({opacity:0}
17,settings.duration*1000,function(){prevImg.remove();if(settings.onSlideStart)settings.onSlideStart.call(this,prevImgIndex);});} 18var autofitHtml='';if(settings.autofit===false){$('.'+settings.holderClass).append('<div class="'+prefix+'-image-'+currentImageIndex+'" '+'style="position: absolute; left: 0; top: 0; width: 100%; height: 100%; '+'background: url('+settings.images[currentImageIndex]+') 50% 50%; '+'background-size: cover;'+'"></div>');} 19else{$('.'+settings.holderClass).append('<img class="'+prefix+'-image-'+currentImageIndex+'" '+'src="'+settings.images[currentImageIndex]+'" '+'alt="'+getTitle(currentImageIndex)+'"'+'style="'+fitImg(img)+'; position: absolute;">');} 20var curImg=$('.'+settings.holderClass).children('.'+prefix+'-image-'+currentImageIndex);curImg.css({opacity:0});curImg.stop().animate({opacity:1},settings.duration*1000,function(){if(settings.onSlideEnd)settings.onSlideEnd.call(this,currentImageIndex);addActiveClass(currentImageIndex);});break;}};} 21function nextTrigger(){if(previousTriggered){prevImgIndex=currentImageIndex+1;currentImageIndex=currentImageIndex+2;previousTriggered=false;} 22else{prevImgIndex=currentImageIndex-1;if(prevImgIndex<0)prevImgIndex=settings.images.length-1;} 23if(currentImageIndex>(settings.images.length-1))currentImageIndex=0;showImage(currentImageIndex++);} 24function prevTrigger(){if(!previousTriggered){prevImgIndex=currentImageIndex-1;currentImageIndex=currentImageIndex-2;if(currentImageIndex<0)currentImageIndex=settings.images.length-1;} 25else{prevImgIndex=currentImageIndex+1;if(prevImgIndex>(settings.images.length-1))prevImgIndex=0;else if(prevImgIndex<0)prevImgIndex=settings.images.length-1;if(currentImageIndex>(settings.images.length-1))currentImageIndex=0;else if(currentImageIndex<0)currentImageIndex=settings.images.length-1;} 26showImage(currentImageIndex--);previousTriggered=true;} 27function pauseTrigger(){clearInterval(sliding);pauseTriggered=true;} 28function showPagination(){if($(settings.pagination.container).length>0){$(settings.pagination.container).append('<ul></ul>');var bosePageListContainer=$(settings.pagination.container).children('ul');for(var bosePage=1;bosePage<=settings.images.length;bosePage++){bosePageListContainer.append('<li class="'+prefix+'-pg-'+bosePage+''+((bosePage==1)?" first":'')+''+((bosePage==settings.images.length)?" last":'')+'">'+'<a href="javascript:void(0)">'+((settings.pagination.text===true)?bosePage:'')+'</a>'+'</li>');} 29$(settings.pagination.container).find('li').bind("click",function(){pauseTrigger();currentImageIndex=$(this).index();showImage(currentImageIndex++);});}} 30function addActiveClass(index){index++;if(settings.pagination.show===true&&$(settings.pagination.container).length>0){$(settings.pagination.container).find('li').removeClass('active');$(settings.pagination.container).children('ul').children('li:nth-child('+index+')').addClass('active');} 31if(settings.thumbs.show===true&&$(settings.thumbs.container).length>0){$(settings.thumbs.container).find('li').removeClass('active');$(settings.thumbs.container).children('ul').children('li:nth-child('+index+')').addClass('active');}} 32function getTitle(currentImageIndex){if(settings.imageTitles.length>0){return settings.imageTitles[currentImageIndex][0];} 33else return'';} 34function getDescription(currentImageIndex){if(settings.imageTitles.length>0){return settings.imageTitles[currentImageIndex][1];} 35else return'';} 36function showThumbPagination(){if($(settings.thumbs.container).length>0){$(settings.thumbs.container).append('<ul></ul>');var boseThumbPageListContainer=$(settings.thumbs.container).children('ul');for(var bosePage=1;bosePage<=settings.images.length;bosePage++){boseThumbPageListContainer.append('<li class="'+prefix+'-thumb-'+bosePage+''+((bosePage==1)?" first":'')+''+((bosePage==settings.images.length)?" last":'')+'">'+'<a href="javascript:void(0)">'+'<img src="'+settings.images[bosePage-1]+'" '+'width="'+((settings.thumbs.dimension&&settings.thumbs.dimension.width!=thumbWH.width)?settings.thumbs.dimension.width:thumbWH.width)+'" '+'height="'+((settings.thumbs.dimension&&settings.thumbs.dimension.height!=thumbWH.height)?settings.thumbs.dimension.height:thumbWH.height)+'">'+'<span class="info"><span class="title">'+getTitle(bosePage-1)+'</span> <span class="description">'+getDescription(bosePage-1)+'</span></span>'+'</a>
36'+'</li>');} 37$(settings.thumbs.container).find('li').bind("click",function(){pauseTrigger();currentImageIndex=$(this).index();showImage(currentImageIndex++);});}}}(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.