/** * picbase1 - SudyTech * * @author jzhou * @publishDate 2012 3 * */ (function ($) { function init(target){ var state = $.data(target, 'picbase1'); if (!state.loaded){ $(target).width(state.options.width); $(target).height(state.options.height) $(target).addClass('picbase1s'); var feature = $('
').appendTo(target); feature.width(state.options.width); feature.height(state.options.height); var img = $('').appendTo(feature); img.width(state.options.width); img.height(state.options.height); var feature_content = $('
').appendTo(feature); var feature_content_h2 = $('

').appendTo(feature_content); var feature_content_p = $('

').appendTo(feature_content); var feature_credit = $('').appendTo(feature); var slidenav = $('').appendTo(target); var firstSlide = state.options.data.article[0]; if (firstSlide){ img.attr("src",firstSlide.image).attr("alt",firstSlide.title); feature_content.attr('style',firstSlide.css); feature_content_h2.html(firstSlide.title); feature_content_p.html(firstSlide.copy); if (firstSlide.credit!="") { feature_credit.html('Photo: '+firstSlide.credit+''); } else { feature_credit.html(''); } } $.each(state.options.data.article, function (i, item) { slidenav.append('
  • ' + this.title + '
  • '); preLoadImages(this.image,this.thumb); }); // each slidenav.find('li:first').addClass('active'); var ready=1; slidenav.find('li').each(function(){ $(this).click(function(){ if(ready===1) { ready=0; slidenav.find('li.active').removeClass('active'); $(this).addClass('active'); var n = $(this).index(); var original = $(target).find('.picbase1:eq(0)'); var clone = original.clone(true); var slide = state.options.data.article[n]; clone.find('img').attr("src",slide.image).attr("alt",slide.title); clone.find('.picbase1-content').attr('style',slide.css); clone.find('h2').html(slide.title); clone.find('.picbase1-content p').html(slide.copy); if (slide.credit!="") { clone.find('.picbase1-credit').html('Photo: '+slide.credit+''); } else { clone.find('.picbase1-credit').html(''); } clone.insertAfter(original).hide().fadeIn(500, function() { original.remove(); ready=1; }); } }); //click var thumbnail = $(this).children('img'); $(this).hover(function(){ thumbnail.hide().fadeIn('fast'); },function(){ thumbnail.hide(); });//hover }); //each } state.loaded = true; } var cache = []; function preLoadImages() { var args_len = arguments.length; for (var i = args_len; i--;) { var cacheImage = document.createElement('img'); cacheImage.src = arguments[i]; cache.push(cacheImage); } } $.fn.picbase1 = function (options, param) { options = options || {}; return this.each(function(){ var state = $.data(this, 'picbase1'); if (state){ $.extend(state.options, options); } else { state = $.data(this, 'picbase1', { options: $.extend({}, $.fn.picbase1.defaults, options), loaded:false }); } init(this); }); }; $.fn.picbase1.defaults = { width:940, height:394 }; })(jQuery);