You are on page 1of 1

jQuery.fn.imageZoom=function(conf){var config=jQuery.extend({speed:200,dontFadeI n:1,hideClicked:1,imageMargin:15,className:'jquery-image-zoom',loading:'Memuat.. .'},conf);config.doubleSpeed=config.speed/4;return this.click(function(e){var cl ickedElement=jQuery(e.target);var clickedLink=clickedElement.is('a')?clickedElem ent:clickedElement.parents('a');clickedLink=(clickedLink&&clickedLink.is('a')&&c lickedLink.attr('href').search(/(.*)\.(jpg|jpeg|gif|png|bmp|tif|tiff)$/gi)!=-1)? clickedLink:false;var clickedImg=(clickedLink&&clickedLink.find('img').length)?c lickedLink.find('img'):false;if(clickedLink){clickedLink.oldText=clickedLink.tex t();clickedLink.setLoadingImg=function(){if(clickedImg){clickedImg.css({opacity: '0.5'})}else{clickedLink.text(config.loading)}};clickedLink.setNotLoadingImg=fun ction(){if(clickedImg){clickedImg.css({opacity:'1'})}else{clickedLink.

text(click edLink.oldText)}};var displayImgSrc=clickedLink.attr('href');if(jQuery('div.'+co nfig.className+' img[src="'+displayImgSrc+'"]').length){return false}var preload Onload=function(){clickedLink.setNotLoadingImg();var dimElement=clickedImg?click edImg:clickedLink;var hideClicked=clickedImg?config.hideClicked:0;var offset=dim Element.offset();var imgzoomBefore={width:dimElement.outerWidth(),height:dimElem ent.outerHeight(),left:offset.left,top:offset.top};var imgzoom=jQuery('<div><img src="'+displayImgSrc+'" alt="" /></div>').css('position','absolute').appendTo(d ocument.body);var imgzoomAfter={width:imgzoom.outerWidth(),height:imgzoom.outerH eight()};var windowDim={width:jQuery(window).width(),height:jQuery(window).heigh t()};if(imgzoomAfter.width>(windowDim.width-config.imageMargin*2)){var nWidth=wi ndowDim.width-config.imageMargin*2;imgzoomAfter.height=(nWidth/imgzoomAfter.widt h)*imgzoomAfter.height;imgzoomAfter.width=nWidth}if(imgzoomAfter.height>(windowD im.height-config.imageMargin*2)){var nHeight=windowDim.height-config.imageMargin *2;imgzoomAfter.width=(nHeight/imgzoomAfter.height)*imgzoomAfter.width;imgzoomAf ter.height=nHeight}imgzoomAfter.left=(windowDim.width-imgzoomAfter.width)/2+jQue ry(window).scrollLeft();imgzoomAfter.top=(windowDim.height-imgzoomAfter.height)/ 2+jQuery(window).scrollTop();var closeButton=jQuery('<a href="#">Close</a>').app endTo(imgzoom).hide();if(hideClicked){clickedLink.css('visibility','hidden')}img zoom.addClass(config.className).css(imgzoomBefore).animate(imgzoomAfter,config.s peed,function(){closeButton.fadeIn(config.doubleSpeed)});var hideImgzoom=functio n(){closeButton.fadeOut(config.doubleSpeed,function(){imgzoom.animate(imgzoomBef ore,config.speed,function(){clickedLink.css('visibility','visible');imgzoom.remo ve()})});return false};imgzoom.click(hideImgzoom);closeButton.click(hideImgzoom) };var preload=new Image();preload.src=displayImgSrc;if(preload.complete){preload Onload()}else{clickedLink.setLoadingImg();preload.onload=preloadOnload}return fa lse}})};$(document).keydown(function(e){if(e.keyCode==27){$('div.jquery-image-zo om a').click()}});

You might also like