jquery Mosaic

by franklinjavier

HTML

<div id="content">
		
		<!--Circle!-->	
		<div class="mosaic-block circle">
			<a href="http://buildinternet.com/project/mosaic" class="mosaic-overlay">&nbsp;</a>
			<div class="mosaic-backdrop"><img src="http://buildinternet.s3.amazonaws.com/projects/mosaic/mosaic.jpg"/></div>
		</div>
	
		<!--Fade-->
		<div class="mosaic-block fade">
			<a href="http://buildinternet.com/project/mightyicons/" target="_blank" class="mosaic-overlay">
				<div class="details">
					<h4>Mighty Social Icons</h4>
					<p>By Build Internet</p>
				</div>
			</a>
			<div class="mosaic-backdrop"><img src="http://buildinternet.s3.amazonaws.com/projects/mosaic/mightyicons.jpg"/></div>
		</div>
		
		<!--Bar-->
		<div class="mosaic-block bar">
			<a href="http://www.nonsensesociety.com/2011/01/sloppy-art/" target="_blank" class="mosaic-overlay">
				<div class="details">
					<h4>Sloppy Art - A Mess of Inspiration</h4>
					<p>via the Nonsense Society (image credit: Florian</p>
				</div>
			</a>
			<div class="mosaic-backdrop"><img src="http://buildinternet.s3.amazonaws.com/projects/mosaic/florian.jpg"/></div>
		</div>
		
		<!--Bar 2-->
		<div class="mosaic-block bar2">
			<a href="http://www.nonsensesociety.com/2010/12/i-am-not-human-portraits/" target="_blank" class="mosaic-overlay">
				<div class="details">
					<h4>I Am Not Human - Unique Self Portraits</h4><br/>
					<p>via the Nonsense Society (photo credit: Dan Deroches)</p>
				</div>
			</a>
			<div class="mosaic-backdrop"><img src="http://buildinternet.s3.amazonaws.com/projects/mosaic/desroches.jpg"/></div>
		</div>
		
		<!--Bar 3-->
		<div class="mosaic-block bar3">
			<a href="http://www.desktopped.com/featured/2010/09/multi-display-setup-with-four-systems-and-a-whole-lot-of-screen-space/" target="_blank" class="mosaic-overlay">
				<div class="details">
					<h4>Multi-Display Setup With Four Systems, A Wall of Screens, And 64TB Of Storage</h4>
					<p>via Desktopped</p>
				</div>
			</a>
			<a...

CSS

/*
	Mosaic - Sliding Boxes and Captions jQuery Plugin
	Version 1.0.1
	www.buildinternet.com/project/mosaic
	
	By Sam Dunn / One Mighty Roar (www.onemightyroar.com)
	Released under MIT License / GPL License
*/

* {
	margin:0;
	padding:0;
	border:none;
	outline:none;
}

/*General Mosaic Styles*/
.mosaic-block {
	float:left;
	position:relative;
	overflow:hidden;
	width:400px;
	height:250px;
	margin:10px;
	background:#111 url(http://buildinternet.com/project/mosaic/1.0/img/progress.gif) no-repeat center center;
	border:1px solid #fff;
	-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.5);
}

	.mosaic-backdrop {
		display:none;
		position:absolute;
		top:0;
		height:100%;
		width:100%;
		background:#111;
	}
	
	.mosaic-overlay {
		display:none;
		z-index:5;
		position:absolute;
		width:100%;
		height:100%;
		background:#111;
	}
	
		/*** Custom Animation Styles (You can remove/add any styles below) ***/
		.circle .mosaic-overlay {
			background:url(http://buildinternet.com/project/mosaic/1.0/img/hover-magnify.png) no-repeat center center;
			opacity:0;
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=00)";
			filter:alpha(opacity=00);
			display:none;
		}
		
		.fade .mosaic-overlay {
			opacity:0;
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=00)";
			filter:alpha(opacity=00);
			background:url(http://buildinternet.com/project/mosaic/1.0/img/bg-black.png);
		}
		
		.bar .mosaic-overlay {
			bottom:-100px;
			height:100px;
			background:url(http://buildinternet.com/project/mosaic/1.0/img/bg-black.png);
		}
		
		.bar2 .mosaic-overlay {
			bottom:-50px;
			height:100px;
			opacity:0.8;
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
			filter:alpha(opacity=80);
		}
		
			.bar2 .mosaic-overlay:hover {
				opacity:1;
				-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
				filter:alpha(opacity=100);
			}
		
		.bar3 .mosaic-overlay...

JavaScript

/*
	Mosaic - Sliding Boxes and Captions jQuery Plugin
	Version 1.0.1
	www.buildinternet.com/project/mosaic
	
	By Sam Dunn / One Mighty Roar (www.onemightyroar.com)
	Released under MIT License / GPL License
*/

(function(a){if(!a.omr){a.omr=new Object()}a.omr.mosaic=function(c,b){var d=this;d.$el=a(c);d.el=c;d.$el.data("omr.mosaic",d);d.init=function(){d.options=a.extend({},a.omr.mosaic.defaultOptions,b);d.load_box()};d.load_box=function(){if(d.options.preload){a(d.options.backdrop,d.el).hide();a(d.options.overlay,d.el).hide();a(window).load(function(){if(d.options.options.animation=="fade"&&a(d.options.overlay,d.el).css("opacity")==0){a(d.options.overlay,d.el).css("filter","alpha(opacity=0)")}a(d.options.overlay,d.el).fadeIn(200,function(){a(d.options.backdrop,d.el).fadeIn(200)});d.allow_hover()})}else{a(d.options.backdrop,d.el).show();a(d.options.overlay,d.el).show();d.allow_hover()}};d.allow_hover=function(){switch(d.options.animation){case"fade":a(d.el).hover(function(){a(d.options.overlay,d.el).stop().fadeTo(d.options.speed,d.options.opacity)},function(){a(d.options.overlay,d.el).stop().fadeTo(d.options.speed,0)});break;case"slide":startX=a(d.options.overlay,d.el).css(d.options.anchor_x)!="auto"?a(d.options.overlay,d.el).css(d.options.anchor_x):"0px";startY=a(d.options.overlay,d.el).css(d.options.anchor_y)!="auto"?a(d.options.overlay,d.el).css(d.options.anchor_y):"0px";var f={};f[d.options.anchor_x]=d.options.hover_x;f[d.options.anchor_y]=d.options.hover_y;var e={};e[d.options.anchor_x]=startX;e[d.options.anchor_y]=startY;a(d.el).hover(function(){a(d.options.overlay,d.el).stop().animate(f,d.options.speed)},function(){a(d.options.overlay,d.el).stop().animate(e,d.options.speed)});break}};d.init()};a.omr.mosaic.defaultOptions={animation:"fade",speed:150,opacity:1,preload:0,anchor_x:"left",anchor_y:"bottom",hover_x:"0px",hover_y:"0px",overlay:".mosaic-overlay",backdrop:".mosaic-backdrop"};a.fn.mosaic=function(b){return this.each(function(){(new...