(function($) { $.kaGallery = function(element, options){ this.options = {}; element.data('kaGallery', this); this.init = function(element, options){ this.options = $.extend({},$.kaGallery.defaultOptions, options); var timer; var target = false; var navInd = 0; var galCheck = element.find('.gallery dl').size(); if(galCheck > 0){ element.find('.kaImgGallery').prepend('
'); element.find('.kaImgGal').append('
'); var ind = 0; element.find('.gallery dl').each(function(){ var slide = jQuery(this).find('dt').html(); var imgSrc = jQuery(this).find('dt a').attr('href'); element.find('.kaImgGal').append('
'); element.find('.thumbNav').append(''); ind++; }); setTimeout(function(){ var galHeight = 0; element.find('.galSlide').each(function(){ if(jQuery(this).height() > galHeight){ galHeight = jQuery(this).height(); } }); element.find('.kaImgGal').height(galHeight + 30);},200); element.find('.gallery').remove(); var galNum = element.find('.kaImgGal > div.galSlide').size(); var num = 0; element.find('.arrow').hide(); element.find('.tnav, .arrow').click(function(){ target = jQuery(this).attr('href'); if((target == 'left') || (target == 'right')){ if(target == 'left'){ target = (num - 1); console.log(target); if(target < 0){ target = (galNum - 1); } }else{ target = (num + 1); console.log(target); if(target >= galNum){ target = 0; } } }else{ target = parseInt(target.replace('img', '')); } clearInterval(timer); timer = false; imgFade(); }); function sizeItUp(){ var galWidth = element.find('.kaImgGal').width(); var navWidth = (galNum * 30); element.find('.thumbWrap').width(galWidth - 20); element.find('.thumbNav').width(navWidth); } function imgFade(){ element.find('.kaImgGal div.galSlide').eq(num).fadeOut(500); num++; if(num > (galNum -1)){ num = 0; } if(target === false){ element.find('.kaImgGal div.galSlide').eq(num).fadeIn(500); }else{ element.find('.kaImgGal div.galSlide').eq(target).fadeIn(500); num = target; target = false; } if(num > navInd){ navSlide(); navInd = (navInd + 4); if(navInd > (galNum - 1)){ navInd = 0; } }else{ navInd = (navInd - 4); if(num <= 0){ navInd = 0; } navSlide(); } if(num == (galNum - 1)){ navInd = (galNum - 2); navSlide(); } if(!timer){ timer = setInterval(function(){imgFade();}, 6000); } } function navSlide(){ var woffset = element.find('.thumbNav').offset().left; var toffset = element.find('.img'+navInd).offset().left; var doffset = (woffset - toffset); element.find('.thumbNav').animate({marginLeft : doffset}, 300); } if(galNum > 1){ for(x =1; x < galNum; x++){ element.find('.kaImgGal div.galSlide').eq(x).hide(); } timer = setInterval(function(){imgFade();}, 6000); } sizeItUp(); jQuery(window).resize(function(){ sizeItUp(); }); element.find('.kaImgGal').hover(function(){ element.find('.arrow').toggle(); }); } } this.init(element, options); } $.fn.kaGallery = function(options){ return this.each(function() { (new $.kaGallery($(this),options)); }); } $.kaGallery.defaultOptions = {}; })(jQuery);