<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bulldoggie studio&#039;s blog &#187; JQuery</title>
	<atom:link href="http://bulldoggie.cn/blog/category/tutorials/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://bulldoggie.cn/blog</link>
	<description></description>
	<lastBuildDate>Thu, 16 Sep 2010 06:00:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Create Snook-Style Navigation Using MooTools</title>
		<link>http://bulldoggie.cn/blog/2010/06/26/create-snook-style-navigation-using-mootools/</link>
		<comments>http://bulldoggie.cn/blog/2010/06/26/create-snook-style-navigation-using-mootools/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 04:31:27 +0000</pubDate>
		<dc:creator>classiclori</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[webtoday]]></category>

		<guid isPermaLink="false">http://bulldoggie.cn/blog/?p=443</guid>
		<description><![CDATA[<p><a href="http://snook.ca/">Jonathan Snook</a> debuted a <a href="http://snook.ca/archives/javascript/jquery-bg-image-animations/">great tutorial</a> last September detailing how you can use an image and a few jQuery techniques to create a slick mouseover effect. I revisited his article and ported its two most impressive effects to MooTools.</p><p><a href="http://davidwalsh.name/dw-content/snook-animation.php">View Demo</a></p><p><h2>The Images</h2></p><p> </p><p> <span class='read-more'><a href='http://bulldoggie.cn/blog/2010/06/26/create-snook-style-navigation-using-mootools/'>[Read More…]</a></span></p><div class="clear-float"></div>
		]]></description>
			<content:encoded><![CDATA[<p><a href="http://snook.ca/">Jonathan Snook</a> debuted a <a href="http://snook.ca/archives/javascript/jquery-bg-image-animations/">great tutorial</a> last September detailing how you can use an image and a few jQuery techniques to create a slick mouseover effect. I revisited his article and ported its two most impressive effects to MooTools.</p>
<div><a href="http://davidwalsh.name/dw-content/snook-animation.php">View Demo</a></div>
<h2>The Images</h2>
<p><img src="http://davidwalsh.name/dw-content/snook-animation-bg.jpg" alt="Image 1" /> <img src="http://davidwalsh.name/dw-content/snook-animation-bg2.jpg" alt="Image 1" /></p>
<p><span id="more-443"></span></p>
<p>These are the same images used in Snook’s article.</p>
<h2>The XHTML</h2>
<pre>&lt;h2&gt;Example 0: No Script&lt;/h2&gt;
&lt;ul id="noscript"&gt;
	&lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="#"&gt;About&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Example A: Top down&lt;/h2&gt;
&lt;ul id="a"&gt;
	&lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="#"&gt;About&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Example B: Right left&lt;/h2&gt;
&lt;ul id="b"&gt;
	&lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="#"&gt;About&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<div id="Lighter_1277525704216"><a id="copy0" title="Click here to copy this code to the clipboard" href="javascript:;">Click here to copy this code to the clipboard</a><a title="Click here to add this snippet to Coda" href="http://davidwalsh.name/snook-navigation-mootools#">Click here to add this snippet to Coda</a><a title="Click here to add this snippet to TextMate" href="http://davidwalsh.name/snook-navigation-mootools#">Click here to add this snippet to TextMate</a><a title="Get the raw code" href="http://davidwalsh.name/snook-navigation-mootools#">Get the raw code</a></div>
<div></div>
<div id="Lighter_1277525704216">
<div><span style="color: #993366;"><span style="text-decoration: underline;">1&lt;h2&gt;Example 0: No Script&lt;/h2&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">2&lt;ul id=&#8221;noscript&#8221;&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">3  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Home&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">4  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;About&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">5  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Contact&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">6&lt;/ul&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">7</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">8&lt;h2&gt;Example A: Top down&lt;/h2&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">9&lt;ul id=&#8221;a&#8221;&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">10  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Home&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">11  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;About&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">12  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Contact&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">13&lt;/ul&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">14</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">15&lt;h2&gt;Example B: Right left&lt;/h2&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">16&lt;ul id=&#8221;b&#8221;&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">17  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Home&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">18  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;About&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">19  &lt;li&gt;&lt;a href=&#8221;#&#8221;&gt;Contact&lt;/a&gt;&lt;/li&gt;</span></span></div>
<div><span style="color: #993366;"><span style="text-decoration: underline;">20&lt;/ul&gt;</span></span></div>
</div>
<p>Three menus.  The first will be a simple CSS-only mouseover, the other two will be varying MooTools versions.</p>
<h2>The CSS</h2>
<pre><span style="color: #993366;">ul { list-style:none; margin:0; padding:0; }
li { float:left; width:100px; margin:0; padding:0; text-align:center; }
li a { display:block; padding:5px 10px; height:100%; color:#fff; text-decoration:none; border-right:1px solid #fff; }
li a { background:url(snook-animation-bg2.jpg) repeat 0 0; }
a:hover, a:focus, a:active { background-position:-150px 0; }
#a a { background:url(snook-animation-bg.jpg) repeat; background-position:-20px 35px; }
#b a { background:url(snook-animation-bg2.jpg) repeat; background-position:0 0; }
</span></pre>
<div id="Lighter_1277525704416"><span style="color: #993366;"><a id="copy1" title="Click here to copy this code to the clipboard" href="javascript:;">Click here to copy this code to the clipboard</a><a title="Click here to add this snippet to Coda" href="http://davidwalsh.name/snook-navigation-mootools#">Click here to add this snippet to Coda</a><a title="Click here to add this snippet to TextMate" href="http://davidwalsh.name/snook-navigation-mootools#">Click here to add this snippet to TextMate</a><a title="Get the raw code" href="http://davidwalsh.name/snook-navigation-mootools#">Get the raw code</a></span></p>
<div><span style="color: #993366;">1ul { list-style:none; margin:0; padding:0; }</span></div>
<div><span style="color: #993366;">2li { float:left; width:100px; margin:0; padding:0; text-align:center; }</span></div>
<div><span style="color: #993366;">3li a { display:block; padding:5px 10px; height:100%; color:#fff; text-decoration:none; border-right:1px solid #fff; }</span></div>
<div><span style="color: #993366;">4li a { background:url(snook-animation-bg2.jpg) repeat 0 0; }</span></div>
<div><span style="color: #993366;">5a:hover, a:focus, a:active { background-position:-150px 0; }</span></div>
<div><span style="color: #993366;">6#a a { background:url(snook-animation-bg.jpg) repeat; background-position:-20px 35px; }</span></div>
<div><span style="color: #993366;">7#b a { background:url(snook-animation-bg2.jpg) repeat; background-position:0 0; }</span></div>
</div>
<p>Nothing too notable here.</p>
<h2>The MooTools JavaScript</h2>
<pre><span style="color: #993366;">window.addEvent('domready', function() {
	/* example a:  top down */
	$$('#a a').each(function(el) {
		//fx
		var fx = new Fx.Tween(el,{
			duration: 500,
			link: 'cancel'
		});

		//css &amp; events
		el.setStyle('background-position','-20px 35px').addEvents({
			'mouseenter': function(e) {
				e.stop();
				fx.start('background-position','-20px 94px');
			},
			'mouseleave': function(e) {
				e.stop();
				fx.start('background-position','-20px 35px');
			}
		});
	});

	/* example b:  right left */
	$$('#b a').each(function(el) {
		//css
		var reset = false;
		var fx = new Fx.Tween(el,{
			duration: 500,
			link: 'cancel',
			onComplete:function() {
				if(reset) {
					el.setStyle('background-position','0 0');
				}
			}
		});
		//events
		el.setStyle('background-position','0 0').addEvents({
			'mouseenter': function(e) {
				e.stop();
				fx.start('background-position','-150px 0');
				reset = false;
			},
			'mouseleave': function(e) {
				reset = true;
				fx.start('background-position','-300px 0');
			}
		});
	});

});
</span></pre>
<div id="Lighter_1277525704534"><a id="copy2" title="Click here to copy this code to the clipboard" href="javascript:;">Click here to copy this code to the clipboard</a><a title="Click here to add this snippet to Coda" href="http://davidwalsh.name/snook-navigation-mootools#">Click here to add this snippet to Coda</a><a title="Click here to add this snippet to TextMate" href="http://davidwalsh.name/snook-navigation-mootools#">Click here to add this snippet to TextMate</a><a title="Get the raw code" href="http://davidwalsh.name/snook-navigation-mootools#">Get the raw code</a></p>
<div><span style="color: #993366;">1window.addEvent(&#8216;domready&#8217;, function() {</span></div>
<div><span style="color: #993366;">2  /* example a:  top down */</span></div>
<div><span style="color: #993366;">3  $$(&#8216;#a a&#8217;).each(function(el) {</span></div>
<div><span style="color: #993366;">4    //fx</span></div>
<div><span style="color: #993366;">5    var fx = new Fx.Tween(el,{</span></div>
<div><span style="color: #993366;">6      duration: 500,</span></div>
<div><span style="color: #993366;">7      link: &#8216;cancel&#8217;</span></div>
<div><span style="color: #993366;">8    });</span></div>
<div><span style="color: #993366;">9</span></div>
<div><span style="color: #993366;">10    //css &amp; events</span></div>
<div><span style="color: #993366;">11    el.setStyle(&#8216;background-position&#8217;,'-20px 35px&#8217;).addEvents({</span></div>
<div><span style="color: #993366;">12      &#8216;mouseenter&#8217;: function(e) {</span></div>
<div><span style="color: #993366;">13        e.stop();</span></div>
<div><span style="color: #993366;">14        fx.start(&#8216;background-position&#8217;,'-20px 94px&#8217;);</span></div>
<div><span style="color: #993366;">15      },</span></div>
<div><span style="color: #993366;">16      &#8216;mouseleave&#8217;: function(e) {</span></div>
<div><span style="color: #993366;">17        e.stop();</span></div>
<div><span style="color: #993366;">18        fx.start(&#8216;background-position&#8217;,'-20px 35px&#8217;);</span></div>
<div><span style="color: #993366;">19      }</span></div>
<div><span style="color: #993366;">20    });</span></div>
<div><span style="color: #993366;">21  });</span></div>
<div><span style="color: #993366;">22</span></div>
<div><span style="color: #993366;">23  /* example b:  right left */</span></div>
<div><span style="color: #993366;">24  $$(&#8216;#b a&#8217;).each(function(el) {</span></div>
<div><span style="color: #993366;">25    //css</span></div>
<div><span style="color: #993366;">26    var reset = false;</span></div>
<div><span style="color: #993366;">27    var fx = new Fx.Tween(el,{</span></div>
<div><span style="color: #993366;">28      duration: 500,</span></div>
<div><span style="color: #993366;">29      link: &#8216;cancel&#8217;,</span></div>
<div><span style="color: #993366;">30      onComplete:function() {</span></div>
<div><span style="color: #993366;">31        if(reset) {</span></div>
<div><span style="color: #993366;">32          el.setStyle(&#8216;background-position&#8217;,&#8217;0 0&#8242;);</span></div>
<div><span style="color: #993366;">33        }</span></div>
<div><span style="color: #993366;">34      }</span></div>
<div><span style="color: #993366;">35    });</span></div>
<div><span style="color: #993366;">36    //events</span></div>
<div><span style="color: #993366;">37    el.setStyle(&#8216;background-position&#8217;,&#8217;0 0&#8242;).addEvents({</span></div>
<div><span style="color: #993366;">38      &#8216;mouseenter&#8217;: function(e) {</span></div>
<div><span style="color: #993366;">39        e.stop();</span></div>
<div><span style="color: #993366;">40        fx.start(&#8216;background-position&#8217;,'-150px 0&#8242;);</span></div>
<div><span style="color: #993366;">41        reset = false;</span></div>
<div><span style="color: #993366;">42      },</span></div>
<div><span style="color: #993366;">43      &#8216;mouseleave&#8217;: function(e) {</span></div>
<div><span style="color: #993366;">44        reset = true;</span></div>
<div><span style="color: #993366;">45        fx.start(&#8216;background-position&#8217;,'-300px 0&#8242;);</span></div>
<div><span style="color: #993366;">46      }</span></div>
<div><span style="color: #993366;">47    });</span></div>
<div><span style="color: #993366;">48  });</span></div>
<div><span style="color: #993366;">49</span></div>
<div><span style="color: #993366;">50});</span></div>
</div>
<p>When you mouseover the last two navigation menu links, the background image animates from one spot to another creating a flash-like effect.<!-- PHP 5.x --></p>


<p>Related posts:<ol><li><a href='http://bulldoggie.cn/blog/2009/12/21/easy-to-use-safari-style-jquery-slider-plugin/' rel='bookmark' title='Easy to Use Safari Style jQuery Slider Plugin'>Easy to Use Safari Style jQuery Slider Plugin</a></li>
<li><a href='http://bulldoggie.cn/blog/2010/03/17/create-a-professional-web-2-0-layout/' rel='bookmark' title='Create a Professional Web 2.0 Layout'>Create a Professional Web 2.0 Layout</a></li>
<li><a href='http://bulldoggie.cn/blog/2010/02/01/create-your-own-actionscript-3-0-pixel-explosion-effect/' rel='bookmark' title='Create Your Own ActionScript 3.0 Pixel Explosion Effect'>Create Your Own ActionScript 3.0 Pixel Explosion Effect</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bulldoggie.cn/blog/2010/06/26/create-snook-style-navigation-using-mootools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Greyscale Hover Effect w/ CSS &amp; jQuery</title>
		<link>http://bulldoggie.cn/blog/2009/12/26/greyscale-hover-effect-w-css-jquery/</link>
		<comments>http://bulldoggie.cn/blog/2009/12/26/greyscale-hover-effect-w-css-jquery/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 05:27:34 +0000</pubDate>
		<dc:creator>classiclori</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://bulldoggie.cn/blog/?p=164</guid>
		<description><![CDATA[<p>A few months ago, <a href="http://james.padolsey.com/">James Padolsey</a> introduced a cool <a href="http://james.padolsey.com/javascript/grayscaling-in-non-ie-browsers/">greyscale technique</a> for non-IE browsers. His technique inspired me to come up with a workaround with a similar effect.</p><p>My solution relies on CSS Sprites and a few lines of jQuery, but requires a bit of preparation before it can be implemented. It is not recommended for large scale projects and probably best for displaying portfolio pieces.</p><p> <span class='read-more'><a href='http://bulldoggie.cn/blog/2009/12/26/greyscale-hover-effect-w-css-jquery/'>[Read More…]</a></span></p><div class="clear-float"></div>
		]]></description>
			<content:encoded><![CDATA[<p>A few months ago, <a href="http://james.padolsey.com/">James Padolsey</a> introduced a cool <a href="http://james.padolsey.com/javascript/grayscaling-in-non-ie-browsers/">greyscale technique</a> for non-IE browsers. His technique inspired me to come up with a workaround with a similar effect.</p>
<p>My solution relies on CSS Sprites and a few lines of jQuery, but requires a bit of preparation before it can be implemented. It is not recommended for large scale projects and probably best for displaying portfolio pieces.</p>
<p><span id="more-164"></span></p>
<p><a href="http://www.sohtanaka.com/web-design/examples/hover-over-trick/" target="_blank"><img src="http://www.sohtanaka.com/web-design/examples/hover-over-trick/demo.gif" alt="jQuery Hover Over Trick" /></a></p>
<div>
<p><a href="http://www.sohtanaka.com/web-design/examples/hover-over-trick/" target="_blank">View Demo</a></p>
</div>
<h4>Wireframe – HTML</h4>
<p>First set up an unordered list which we will use as our foundation for the list<br />
of gallery images.</p>
<pre>&lt;ul&gt;
	&lt;li&gt;
		&lt;a href="#"&gt;&lt;span&gt;&lt;img src="image.gif" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;
		&lt;h2&gt;&lt;a href="#"&gt;Image Name&lt;/a&gt;&lt;/h2&gt;
	&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>You will notice that each list will contain an image which is nested within a &lt;span&gt; tag. The &lt;span&gt; tag will be used to crop the image to only show its default state. Take a look at the image below to get a visual.</p>
<p><img src="http://www.sohtanaka.com/web-design/examples/hover-over-trick/step1_a.gif" alt="jQuery Hover Over Trick" /></p>
<h4>Styling – CSS</h4>
<p>We will style this up as a typical gallery. Only thing unique about the below CSS is that we have the &lt;span&gt; to crop our image as we demonstrated in the above example.</p>
<pre>ul.gallery {
	width: 708px; /*--Adjust width according to your scenario--*/
	list-style: none;
	margin: 0; padding: 0;
}
ul.gallery li {
	float: left;
	margin: 10px; padding: 0;
	text-align: center;
	border: 1px solid #ccc;
	-moz-border-radius: 3px; /*--CSS3 Rounded Corners--*/
	-khtml-border-radius: 3px; /*--CSS3 Rounded Corners--*/
	-webkit-border-radius: 3px; /*--CSS3 Rounded Corners--*/
	display: inline; /*--Gimp Fix aka IE6 Fix - Fixes double margin bug--*/
}
ul.gallery li a.thumb {
	width: 204px; /*--Width of image--*/
	height: 182px; /*--Height of image--*/
	padding: 5px;
	border-bottom: 1px solid #ccc;
	cursor: pointer;
}
ul.gallery li span { /*--Used to crop image--*/
	width: 204px;
	height: 182px;
	overflow: hidden;
	display: block;
}
ul.gallery li a.thumb:hover {
	background: #333; /*--Hover effect for browser with js turned off--*/
}
ul.gallery li h2 {
	font-size: 1em;
	font-weight: normal;
	text-transform: uppercase;
	margin: 0; padding: 10px;
	background: #f0f0f0;
	border-top: 1px solid #fff; /*--Subtle bevel effect--*/
}
ul.gallery li a {text-decoration: none; color: #777; display: block;}</pre>
<h4>Step 3. Animation – jQuery</h4>
<p><small>For those who are not familiar with <a href="http://www.jquery.com/" target="_blank">jQuery</a>, do check out their site first and get an overview of how it works. I’ve shared a <a href="http://www.sohtanaka.com/web-design/tag/jquery/" target="_blank">few tricks</a> that I have picked up along the way, you can check those out as well.</small></p>
<p><strong>Initial Step – Call the jQuery file</strong></p>
<p>You can choose to <a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2.min.js&amp;downloadBtn=" target="_blank">download</a> the file from the jQuery site, or you can use this one hosted on Google.</p>
<pre>&lt;script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"&gt;&lt;/script&gt;</pre>
<p>The logic here will be to fade out the default thumbnail, and set a background image on the &lt;a&gt; tag. Using <a href="http://www.smashingmagazine.com/2009/04/27/the-mystery-of-css-sprites-techniques-tools-and-tutorials/" target="_blank">CSS Sprites</a>, we will position the image to the ‘bottom’ so  the greyscaled thumbnail can seep through on hover over.</p>
<p>The following script contains comments explaining which jQuery actions are being performed.</p>
<p><strong>jQuery</strong></p>
<pre>$(document).ready(function() {

	$("ul.gallery li").hover(function() { //On hover...

		var thumbOver = $(this).find("img").attr("src"); //Get image url and assign it to 'thumbOver'

		//Set a background image(thumbOver) on the &lt;a&gt; tag - Set position to bottom
		$(this).find("a.thumb").css({'background' : 'url(' + thumbOver + ') no-repeat center <strong>bottom</strong>'});

		//Animate the image to 0 opacity (fade it out)
		$(this).find("span").stop().fadeTo('normal', 0 , function() {
			$(this).hide() //Hide the image after fade
		});
	} , function() { //on hover out...
		//Fade the image to full opacity
		$(this).find("span").stop().fadeTo('normal', 1).show();
	});

});</pre>
<p><a href="http://www.sohtanaka.com/web-design/examples/hover-over-trick/" target="_blank"><img src="http://www.sohtanaka.com/web-design/examples/hover-over-trick/demo.gif" alt="jQuery Hover Over Trick" /></a></p>
<div>
<p><a href="http://www.sohtanaka.com/web-design/examples/hover-over-trick/" target="_blank">View Demo</a></p>
</div>
<h4>Conclusion</h4>
<p>I’m sure there are various ways of achieving this technique. I decided to use CSS Sprites technique to prevent glitching on the initial hover over. If anyone has a better solution, have questions, or suggestions, please feel free to let me know!<!-- PHP 5.x --></p>


<p>Related posts:<ol><li><a href='http://bulldoggie.cn/blog/2009/12/26/simple-page-peel-effect-with-jquery-css/' rel='bookmark' title='Simple Page Peel Effect with jQuery &amp; CSS'>Simple Page Peel Effect with jQuery &#038; CSS</a></li>
<li><a href='http://bulldoggie.cn/blog/2009/12/21/easy-to-use-safari-style-jquery-slider-plugin/' rel='bookmark' title='Easy to Use Safari Style jQuery Slider Plugin'>Easy to Use Safari Style jQuery Slider Plugin</a></li>
<li><a href='http://bulldoggie.cn/blog/2009/12/26/jquery-popeye-%e2%80%93-an-inline-lightbox-alternative/' rel='bookmark' title='jQuery.popeye – an inline lightbox alternative'>jQuery.popeye – an inline lightbox alternative</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bulldoggie.cn/blog/2009/12/26/greyscale-hover-effect-w-css-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery.popeye – an inline lightbox alternative</title>
		<link>http://bulldoggie.cn/blog/2009/12/26/jquery-popeye-%e2%80%93-an-inline-lightbox-alternative/</link>
		<comments>http://bulldoggie.cn/blog/2009/12/26/jquery-popeye-%e2%80%93-an-inline-lightbox-alternative/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 05:12:59 +0000</pubDate>
		<dc:creator>classiclori</dc:creator>
				<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://bulldoggie.cn/blog/?p=159</guid>
		<description><![CDATA[<p>Writing the history of single-page image galleries on the web, one could start like this:</p><p>In the beginning, there was nothing. And the Developer said: “Let there be pop-ups!” And the Users saw that pop-ups were bad…</p><p> <span class='read-more'><a href='http://bulldoggie.cn/blog/2009/12/26/jquery-popeye-%e2%80%93-an-inline-lightbox-alternative/'>[Read More…]</a></span></p><div class="clear-float"></div>
		]]></description>
			<content:encoded><![CDATA[<p>Writing the history of single-page image galleries on the web, one could start like this:</p>
<blockquote><p>In the beginning, there was nothing. And the Developer said: “Let there be pop-ups!” And the Users saw that pop-ups were bad…</p>
<p><span id="more-159"></span></p></blockquote>
<p>Then came <a href="http://www.lokeshdhakar.com/projects/lightbox2/">Lightbox</a>. Finally, an unobtrusive script allowed to display enlarged versions of thumbnail images embedded in web pages without leaving that web page or breaking the layout. The “simple” solution was to add a semi-transparent overlay to the page, on which the enlarged image is centered.</p>
<p>Since then, we’ve seen <a href="http://fortysomething.ca/mt/etc/archives/005400.php">a ton of similar scripts</a> used on an ever-increasing number of websites.</p>
<p>While at first, I, like everyone else, was really enthusiastic about this technique, I have come to see some of the downsides of a lightbox-ish image presentation:</p>
<ul>
<li>Lightboxes are usually <strong>not consistent with the look &amp; feel</strong> of the rest of the website, and</li>
<li>they <em>still feel like a kind of pop-up</em>, since the image leaves the layer of the web page and <strong>opens up a new layer</strong>.</li>
</ul>
<p>Besides –  I’m getting tired of seeing the same effect, the same UI controls over and over…</p>
<p>So, while working on a client project in which I at first used a <a href="http://www.balupton.com/sandbox/jquery_lightbox/">jQuery Lightbox plugin</a>, I ended up dissatisfied with the outcome. I had gone through great length to stir up a consistent look &amp; feel, just to see it vanish under the lightbox overlay.</p>
<p>I wanted something more integrated in the flow of the web page – a box with a small preview image with caption, the possibility to flip through an array of more thumbnails and, of course, to show an enlarged version, all in one place. Lightbox offers that. Moreover, I wanted the box to stay anchored to the page layout and not hovering above it disconnectedly. The way to achieve this was writing a script which would fix one corner of the enlarged image to the exact spot where the thumbnail had been.</p>
<p>After toying around for a while, I decided to put the final outcome into a proper jQuery plugin and see, what other people (you!) think. May <em>jQuery.popeye</em> be of use!</p>
<h4>Behavior</h4>
<p>The plugin transforms an unoredered list of images into a box displaying only one preview image at a time. The box has controls to skim through the preview images and to enlarge a given image. The box expands to accomodate the enlarged version, while the controls are hidden in full image size mode. A simple click on the image returns the box to its compact state.</p>
<p>The compact box has fixed, automatically calculated dimensions. The widht and height are calculated so that all thumbnail images are cropped to the smallest width and height in the set and centered resulting image area (<em>stage</em>).</p>
<p>This behaviour can be overriden in the plugin options.</p>
<p>I have set up a <a href="http://dev.herr-schuessler.de/examples/jquery-popeye/">demo page which best shows the behavior of <em>jQuery.popeye</em></a>.</p>
<h4>Usage</h4>
<p><em>jQuery.popeye</em> degrades gracefully into a scrollable list of thumbnails which link to an enlarged version. The <strong>HTML-setup</strong> should look like this:</p>
<div>
<div>
<div><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">?</a></div>
</div>
<ol>
<li><span style="color: #f70741;">&lt;div class=&#8221;popeye&#8221;&gt;</span></li>
<li><span style="color: #f70741;">&lt;ul&gt;</span></li>
<li><span style="color: #f70741;">&lt;li&gt;&lt;a href=&#8221;url_of_large_image.jpg&#8221;&gt;</span></li>
<li><span style="color: #f70741;"> &lt;img src=&#8221;url_of_thumbnail.jpg&#8221; alt=&#8221;The caption string&#8221;&gt;&lt;/a&gt;&lt;/li&gt;</span></li>
<li><span style="color: #f70741;">&lt;li&gt;&lt;a href=&#8221;url_of_large_image.jpg&#8221;&gt;</span></li>
<li><span style="color: #f70741;"> &lt;img src=&#8221;url_of_thumbnail.jpg&#8221; alt=&#8221;The caption string&#8221;&gt;&lt;/a&gt;&lt;/li&gt;</span></li>
<li><span style="color: #f70741;">&lt;li&gt;&lt;a href=&#8221;url_of_large_image.jpg&#8221;&gt;</span></li>
<li><span style="color: #f70741;"> &lt;img src=&#8221;url_of_thumbnail.jpg&#8221; alt=&#8221;The caption string&#8221;&gt;&lt;/a&gt;&lt;/li&gt;</span></li>
<li><span style="color: #f70741;">&lt;li&gt;&#8230;&lt;/li&gt;</span></li>
<li><span style="color: #f70741;">&lt;/ul&gt;</span></li>
<li><span style="color: #f70741;">&lt;/div&gt;</span></li>
</ol>
</div>
<p>Once the plugin has been included in your web page, the popeye(es) can be easily created with the following command:</p>
<div>
<div>
<div><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">?</a></div>
</div>
<ol>
<li>$(document).ready(function () {</li>
<li> $(&#8216;.popeye&#8217;).popeye();</li>
<li>});</li>
</ol>
</div>
<pre>$(document).ready(function () {
	$('.popeye').popeye();
});</pre>
<p>Of course, multiple popeyees can be used together on a single page.</p>
<h4>Customization</h4>
<p><em>jQuery.popeye</em> supports a wide range of options. They are, in detail:</p>
<table border="0">
<tbody>
<tr>
<th>Option</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td><code>stageW</code></td>
<td>string</td>
<td>n/a</td>
<td>override width of compact image stage (e.g. <code>'200px'</code>)</td>
</tr>
<tr>
<td><code>stageH</code></td>
<td>string</td>
<td>n/a</td>
<td>override height of compact image stage (e.g. <code>'200px'</code>)</td>
</tr>
<tr>
<td><code>jclass</code></td>
<td>string</td>
<td><code>'popeye-hasjs'</code></td>
<td>class to be applied to popeye-box when the browser has activated JavaScript (to overwrite fallback styling)</td>
</tr>
<tr>
<td><code>eclass</code></td>
<td>string</td>
<td><code>'popeye-haspopped'</code></td>
<td>class to be applied to enlarged popeye-box</td>
</tr>
<tr>
<td><code>lclass</code></td>
<td>string</td>
<td><code>'popeye-isloading'</code></td>
<td>class to be applied to stage while loading image</td>
</tr>
<tr>
<td><code>direction</code></td>
<td>string</td>
<td><code>'left'</code></td>
<td>direction that popeye-box opens, can be <code>'left'</code> or <code>'right'</code></td>
</tr>
<tr>
<td><code>duration</code></td>
<td>integer</td>
<td><code>400</code></td>
<td>duration of transitional effect when enlarging or closing the box</td>
</tr>
<tr>
<td><code>easing</code></td>
<td>string</td>
<td><code>'swing'</code></td>
<td>easing type, can be <code>'swing'</code>, <code>'linear'</code> or any of <a href="http://gsgd.co.uk/sandbox/jquery/easing/">jQuery Easing Plugin</a> types (Plugin required)</td>
</tr>
<tr>
<td><code>nlabel</code></td>
<td>string</td>
<td><code>'next'</code></td>
<td>label for next button</td>
</tr>
<tr>
<td><code>plabel</code></td>
<td>string</td>
<td><code>'previous'</code></td>
<td>label for previous button</td>
</tr>
<tr>
<td><code>oflabel</code></td>
<td>string</td>
<td><code>'of'</code></td>
<td>label for image count text (e.g. 1 <em>of</em> 14)</td>
</tr>
<tr>
<td><code>blabel</code></td>
<td>string</td>
<td><code>'enlarge'</code></td>
<td>label for enlarge button</td>
</tr>
<tr>
<td><code>clabel</code></td>
<td>string</td>
<td><code>'Click to close'</code></td>
<td>tooltip on enlarged image (click image to close)</td>
</tr>
</tbody>
</table>
<p><strong>Update:</strong> These are the options for <em>jQuery.popeye 0.2</em>. The <a href="http://herr-schuessler.de/blog/jquery-popeye-1-0-released/">options for the latest version have changed</a>!</p>
<p>To overwrite the default parameters, you can use the following code:</p>
<div>
<div>
<div><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" href="http://herr-schuessler.de/blog/jquerypopeye-an-inline-lightbox-alternative/#">?</a></div>
</div>
<ol>
<li>var options = {</li>
<li> direction:  &#8217;right&#8217;,</li>
<li> duration:   230,</li>
<li> stageW:     &#8217;200px&#8217;,</li>
<li> stageH:     &#8217;240px&#8217;</li>
<li>}</li>
<li>$(&#8216;.popeye&#8217;).popeye(options);</li>
</ol>
</div>
<pre>var options = {
	direction:  'right',
	duration:   230,
	stageW:     '200px',
	stageH:     '240px'
}
$('.popeye').popeye(options);</pre>
<p>The plugin comes with the mandatory css-file <code>jquery.popeye.css</code> which shouldn’t be altered. Additionally, I have included a second, customizable CSS-file with an example style for you to build upon.</p>
<h4>I repeat…</h4>
<ul>
<li>Get the <a href="http://jquery.com/">latest version of jQuery</a>,</li>
<li>(optional) get the <a href="http://gsgd.co.uk/sandbox/jquery/easing/">jQuery Easing Plugin</a>,</li>
<li>see it in action on <a href="http://dev.herr-schuessler.de/examples/jquery-popeye/">the demo page</a>,</li>
<li>get the plugin:</li>
</ul>
<p><a href="http://plugins.jquery.com/project/popeye">Download <em>jQuery.popeye</em><br />
from the jQuery Plugin Repository</a></p>
<h4>Considerations</h4>
<p>There are still some issues with the first release of <em>jQuery.popeye</em> which I hope to resolve in future versions. They mainly concern the size of the enlarged box (the whole image should stay visible) and the gallery controls (will introduce proper controls to enlarged box).</p>
<p>But for now, your <strong>feedback</strong>, <strong>bug reports</strong>, <strong>improvements</strong> and <strong>feature requests</strong> are very welcome in the comment section.</p>
<blockquote><p>“I yam what I yam!” — Popeye</p></blockquote>
<h4>Update March 2009</h4>
<p>A <a href="http://herr-schuessler.de/blog/jquery-popeye-1-0-released/">new version of <em>jQuery.popeye</em> has been released</a>, addressing many of the below mentioned bugs and featuring a better user interface and interaction behaviour.<!-- PHP 5.x --></p>


<p>Related posts:<ol><li><a href='http://bulldoggie.cn/blog/2009/12/21/easy-to-use-safari-style-jquery-slider-plugin/' rel='bookmark' title='Easy to Use Safari Style jQuery Slider Plugin'>Easy to Use Safari Style jQuery Slider Plugin</a></li>
<li><a href='http://bulldoggie.cn/blog/2009/12/04/fancy-javascript-popup-library-with-jquery-ui/' rel='bookmark' title='Fancy Javascript Popup Library with jQuery UI'>Fancy Javascript Popup Library with jQuery UI</a></li>
<li><a href='http://bulldoggie.cn/blog/2010/06/26/lightbox-photonav-lightnav/' rel='bookmark' title='Lightbox + PhotoNav = LightNav'>Lightbox + PhotoNav = LightNav</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bulldoggie.cn/blog/2009/12/26/jquery-popeye-%e2%80%93-an-inline-lightbox-alternative/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Page Peel Effect with jQuery &amp; CSS</title>
		<link>http://bulldoggie.cn/blog/2009/12/26/simple-page-peel-effect-with-jquery-css/</link>
		<comments>http://bulldoggie.cn/blog/2009/12/26/simple-page-peel-effect-with-jquery-css/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 05:06:13 +0000</pubDate>
		<dc:creator>classiclori</dc:creator>
				<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://bulldoggie.cn/blog/?p=157</guid>
		<description><![CDATA[<p>You have probably seen these forms of advertisings where you can peel a corner of a website and see a message underneath. It seems most are flash driven, but I decided to try it out using some simple lines of jQuery.</p><p><a href="http://www.sohtanaka.com/web-design/examples/peeling-effect/" target="_blank"></a></p><p> <span class='read-more'><a href='http://bulldoggie.cn/blog/2009/12/26/simple-page-peel-effect-with-jquery-css/'>[Read More…]</a></span></p><div class="clear-float"></div>
		]]></description>
			<content:encoded><![CDATA[<p>You have probably seen these forms of advertisings where you can peel a corner of a website and see a message underneath. It seems most are flash driven, but I decided to try it out using some simple lines of jQuery.</p>
<p><a href="http://www.sohtanaka.com/web-design/examples/peeling-effect/" target="_blank"><img src="http://www.sohtanaka.com/web-design/examples/peeling-effect/sample1.jpg" alt="Page Peel Effect with jQuery and CSS" /></a></p>
<div>
<p><span id="more-157"></span></p>
<p><a href="http://www.sohtanaka.com/web-design/examples/peeling-effect/" target="_blank">View Demo</a></p>
</div>
<h4>1. HTML – Page Peel Wireframe</h4>
<p>The “pageflip” div will act as the container, mainly used to establish the relative positioning. Then nest the image and the span class of “msg_block” wrapped in an &lt;a&gt; tag. <small>Note – If you don’t have any conflicting absolute/relative positioning properties, you technically don’t need the “pageflip” container at all.</small></p>
<pre>&lt;div id="pageflip"&gt;
	&lt;a href="#"&gt;
		&lt;img src="page_flip.png" alt="" /&gt;
		&lt;span&gt;Subscribe via RSS&lt;/span&gt;
	&lt;/a&gt;
&lt;/div&gt;</pre>
<h4>2. CSS – Page Peel Styles</h4>
<p>Set the image property to a smaller size (50px by 50px) by default and set the absolute positioning to be in the top right corner. The image will be used similar to the “masking” technique in Photoshop or Flash, where it will be placed on top of the hidden message, so only a portion of the message will be shown. Check out the image below for a visual:</p>
<p><img src="http://www.sohtanaka.com/web-design/examples/peeling-effect/sample2.jpg" alt="Page Peel Effect with jQuery and CSS" /></p>
<p>The actual message behind the “peeling” effect, is all within the “msg_block” class. By default, it will start at 50px by 50px, positioned on the top right corner of the page. The text-indent will shoot the text off of the page for anyone with CSS enabled.</p>
<pre>#pageflip {
	position: relative;
}
#pageflip img {
	width: 50px; height: 52px;
	z-index: 99;
	position: absolute;
	right: 0; top: 0;
	-ms-interpolation-mode: bicubic;
}
#pageflip .msg_block {
	width: 50px; height: 50px;
	position: absolute;
	z-index: 50;
	right: 0; top: 0;
	background: url(subscribe.png) no-repeat right top;
	text-indent: -9999px;
}</pre>
<p><small>Note that the “msg_block” height is off by 2px compared to the image property – this is taking in consideration of the drop shadow that the image has.</small></p>
<h4>3. jQuery – Animating Page Peel</h4>
<p>All we are doing here is expanding the image and msg_block on hover, then retracting to its default size on hover out.</p>
<pre>$("#pageflip").hover(function() { //On hover...
	$("#pageflip img , .msg_block").stop()
		.animate({ //Animate and expand the image and the msg_block (Width + height)
			width: '307px',
			height: '319px'
		}, 500);
	} , function() {
	$("#pageflip img").stop() //On hover out, go back to original size 50x52
		.animate({
			width: '50px',
			height: '52px'
		}, 220);
	$(".msg_block").stop() //On hover out, go back to original size 50x50
		.animate({
			width: '50px',
			height: '50px'
		}, 200); //Note this one retracts a bit faster (to prevent glitching in IE)
});</pre>
<h4>Conclusion</h4>
<p>The concept is very simple and may come in handy one day. If you have any questions or know of other techniques, please don’t hesitate to let me know~</p>
<p><a href="http://www.sohtanaka.com/web-design/examples/peeling-effect/" target="_blank"><img src="http://www.sohtanaka.com/web-design/examples/peeling-effect/sample1.jpg" alt="Page Peel Effect with jQuery and CSS" /></a><!-- PHP 5.x --></p>


<p>Related posts:<ol><li><a href='http://bulldoggie.cn/blog/2009/12/26/greyscale-hover-effect-w-css-jquery/' rel='bookmark' title='Greyscale Hover Effect w/ CSS &amp; jQuery'>Greyscale Hover Effect w/ CSS &#038; jQuery</a></li>
<li><a href='http://bulldoggie.cn/blog/2009/12/21/easy-to-use-safari-style-jquery-slider-plugin/' rel='bookmark' title='Easy to Use Safari Style jQuery Slider Plugin'>Easy to Use Safari Style jQuery Slider Plugin</a></li>
<li><a href='http://bulldoggie.cn/blog/2010/02/13/build-a-simple-website-template-using-swfaddress/' rel='bookmark' title='Build a Simple Website Template Using SWFAddress'>Build a Simple Website Template Using SWFAddress</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bulldoggie.cn/blog/2009/12/26/simple-page-peel-effect-with-jquery-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice List of Open Source Fish Eye Menu</title>
		<link>http://bulldoggie.cn/blog/2009/12/25/nice-list-of-open-source-fish-eye-menu/</link>
		<comments>http://bulldoggie.cn/blog/2009/12/25/nice-list-of-open-source-fish-eye-menu/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 22:42:59 +0000</pubDate>
		<dc:creator>classiclori</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[fisheye]]></category>

		<guid isPermaLink="false">http://bulldoggie.cn/blog/?p=155</guid>
		<description><![CDATA[<p>We love Mac, we love Fish Eye Menu. The idea behind a fisheye control is a strip of <a id="KonaLink0" href="http://www.webappers.com/2007/10/29/nice-list-of-open-source-fish-eye-menu/#" target="undefined"><span style="color: blue;">icons</span></a>, being vertical or horizontally laid out that reacts to the user’s mouse as it approaches the icon. Here is a list of Nice Fish Eye Menu for you to dowload and use it in your web application.</p><p><strong>CSS Dock Menu</strong></p><p><a title="Fish Eye Menu" href="http://www.ndesign-studio.com/blog/mac/css-dock-menu" target="_blank"></a></p><p> <span class='read-more'><a href='http://bulldoggie.cn/blog/2009/12/25/nice-list-of-open-source-fish-eye-menu/'>[Read More…]</a></span></p><div class="clear-float"></div>
		]]></description>
			<content:encoded><![CDATA[<div>
<p>We love Mac, we love Fish Eye Menu. The idea behind a fisheye control is a strip of <a id="KonaLink0" href="http://www.webappers.com/2007/10/29/nice-list-of-open-source-fish-eye-menu/#" target="undefined"><span style="color: blue;">icons</span></a>, being vertical or horizontally laid out that reacts to the user’s mouse as it approaches the icon. Here is a list of Nice Fish Eye Menu for you to dowload and use it in your web application.</p>
<p><strong>CSS Dock Menu</strong></p>
<p><a title="Fish Eye Menu" href="http://www.ndesign-studio.com/blog/mac/css-dock-menu" target="_blank"><img src="http://maxcdn.webappers.com/img/2007/10/css-dock-menu.png" alt="css-dock-menu.png" /></a></p>
<p><span id="more-155"></span></p>
<p><strong>Fish Eye Menu for Prototypejs</strong></p>
<p><a title="Fish Eye Menu" href="http://positionabsolute.net/blog/2007/08/prototype-fisheye.php" target="_blank"><img src="http://maxcdn.webappers.com/img/2007/10/prototype-fisheye.png" alt="prototype-fisheye.png" /></a></p>
<p><strong>Fish Eye Menu for Mootools</strong></p>
<p><a title="Fish Eye Menu" href="http://www.chrisesler.com/mootools/fisheye/fisheyeVersion2.php" target="_blank"><img src="http://maxcdn.webappers.com/img/2007/10/mootools-fisheye.png" alt="mootools-fisheye.png" /></a></p>
<p><a title="Fish Eye Menu" href="http://www.mibhouse.org/pokemon_jojo/dev/test-pbbdock.html" target="_blank"><img src="http://maxcdn.webappers.com/img/2007/10/mootools-fisheye2.png" alt="mootools-fisheye2.png" /></a></p>
<p><strong>DHTML Fish Eye Menu for Text</strong></p>
<p><a title="Fish Eye Menu" href="http://www.jeffjoneslive.com/JeffJonesLive/DHTML-Fish-Eye-Menu.asp" target="_blank"><img src="http://maxcdn.webappers.com/img/2007/10/dhtml-fishmenu.png" alt="dhtml-fishmenu.png" /></a></p>
<p><strong>Fish Eye Menu Tutorial</strong></p>
<p><a title="Fish Eye Menu" href="http://simply-basic.com/posts/19419" target="_blank"><img src="http://maxcdn.webappers.com/img/2007/10/fisheye-tutorial2.png" alt="fisheye-tutorial2.png" /></a></p>
<p><a title="Fish Eye Menu" href="http://blogs.nitobi.com/alexei/?p=37" target="_blank"><img src="http://maxcdn.webappers.com/img/2007/10/fisheye-menu-tutorial.png" alt="fisheye-menu-tutorial.png" /></a></p>
</div>
<p><!-- PHP 5.x --></p>


<p>Related posts:<ol><li><a href='http://bulldoggie.cn/blog/2009/12/20/ajax-org-%e2%80%93-open-source-application-platform-for-rias/' rel='bookmark' title='Ajax.org – Open Source Application Platform for RIAs'>Ajax.org – Open Source Application Platform for RIAs</a></li>
<li><a href='http://bulldoggie.cn/blog/2010/06/04/the-monster-list-of-freelance-job-sites-%e2%80%93-2009-update/' rel='bookmark' title='The Monster List of Freelance Job Sites – 2009 Update'>The Monster List of Freelance Job Sites – 2009 Update</a></li>
<li><a href='http://bulldoggie.cn/blog/2010/06/26/create-snook-style-navigation-using-mootools/' rel='bookmark' title='Create Snook-Style Navigation Using MooTools'>Create Snook-Style Navigation Using MooTools</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://bulldoggie.cn/blog/2009/12/25/nice-list-of-open-source-fish-eye-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

