<?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>ria之家--RIA三部曲：jquery、ext、flex &#187; 明河共影</title>
	<atom:link href="http://www.36ria.com/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://www.36ria.com</link>
	<description>RIA三部曲：jquery、ext、flex</description>
	<lastBuildDate>Wed, 08 Feb 2012 12:19:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>zoomy—jquery图片放大镜插件</title>
		<link>http://www.36ria.com/3985</link>
		<comments>http://www.36ria.com/3985#comments</comments>
		<pubDate>Mon, 28 Mar 2011 10:28:25 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery插件]]></category>
		<category><![CDATA[jquery图片放大镜插件]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3985</guid>
		<description><![CDATA[很久没介绍jquery方面的东西了，今天偶然发现了一个相当不错的jquery图片放大镜插件：zoomy，分享给给位。 使用上非常简单。 1.引入jquery和插件 &#60;script type=&#34;text/javascript&#34; src=&#34;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js&#34;&#62;&#60;/script&#62; &#60;link&#160;type=&#34;text/css&#34; rel=&#34;stylesheet&#34; href=&#34;path-to/zoom1.0.css&#34;/&#62; &#60;script&#160;type=&#34;text/javascript&#34; src=&#34;path-to/......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/zoomy.png" alt="" title="zoomy" width="640" height="200" class="alignleft size-full wp-image-3986" /><br />
很久没介绍jquery方面的东西了，今天偶然发现了一个相当不错的jquery图片放大镜插件：<strong>zoomy</strong>，分享给给位。</p>
<ul class="tow-columns clearfix">
<li class="l"><a target="_blank" class="btn-view-demo" href="http://redeyeoperations.com/plugins/zoomy/"></a></li>
<li class="l"><a class="btn-download" href="http://redeyeoperations.com/plugins/zoomy/zoomy1.0.zip"></a></li>
</ul>
<p>使用上非常简单。</p>
<h4>1.引入jquery和插件</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">link</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/css</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">rel</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">stylesheet</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">path-to/zoom1.0.css</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">path-to/zoomy1.0.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h4>2.建立类似如下的html结构</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">a</span><span style="color: Gray;"> </span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">zoomImg.jpg</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">zoom</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">displayImg.jpg</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>a的路径指向大图路径。</p>
<h4>3.初始化</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.zoom</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">zoomy</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">zoomSize</span><span style="color: Gray;">: </span><span style="color: Maroon;">200</span><span style="color: Gray;">, </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">round</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">, </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">glare</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">zoomText</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">click to Zoom</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h4>4.原理简述</h4>
<p>图片放大镜的原理并不复杂，当鼠标滑过图片时，不存在放大镜层，创建一个放大镜层，这个层的背景图片指向大图，当你的鼠标在图片移动时候，鼠标坐标改变了，同时改变放大镜层背景图片的位移。<br />
当然，实际的情况会要复杂的多，你要处理下边界，不能让你的放大镜超越可视图片的边界。<br />
zoomy有个有意思的放大镜层，是完全使用css3完成的，效果如下<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/zoomy-2.png" alt="" title="zoomy-2" width="205" height="191" class="alignleft size-full wp-image-3987" /><br />
圆形的放大镜层，是使用css3的圆角属性生成的，而圆形内部还有一个白色半透明的圆形层，再加上阴影，就形成了比较逼真的放大镜效果。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.zoomy</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background-repeat:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">no-repeat</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#000</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#000</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Red;">solid</span><span style="color: Gray;"> </span><span style="color: #00008b;">#999</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">line-height:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">100</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">text-align:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">center</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background-image:</span><span style="color: Gray;"> url(loading.gif)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background-position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">center</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background-color:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#fff</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">z-index:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1000</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">overflow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">hidden</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">.zoomy</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">span</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">block</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">margin:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Red;">auto</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;"> -moz-linear-gradient(</span><span style="color: Red;">top</span><span style="color: Gray;">, rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">.61</span><span style="color: Gray;">) </span><span style="color: Maroon;">0</span><span style="color: Red;">%</span><span style="color: Gray;">, rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">) </span><span style="color: Maroon;">24</span><span style="color: Red;">%</span><span style="color: Gray;">, rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">) </span><span style="color: Maroon;">71</span><span style="color: Red;">%</span><span style="color: Gray;">, rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">.61</span><span style="color: Gray;">) </span><span style="color: Maroon;">100</span><span style="color: Red;">%</span><span style="color: Gray;">)</span><span style="color: Gray;">; /</span><span style="color: Blue;">*</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">firefox</span><span style="color: Gray;"> </span><span style="color: Blue;">*</span><span style="color: Gray;">/</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;"> -webkit-gradient(linear, </span><span style="color: Red;">left</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">top</span><span style="color: Gray;">, </span><span style="color: Red;">left</span><span style="color: Gray;"> </span><span style="color: Red;">bottom</span><span style="color: Gray;">, color-stop(</span><span style="color: Maroon;">0</span><span style="color: Red;">%</span><span style="color: Gray;">,rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">.61</span><span style="color: Gray;">)), color-stop(</span><span style="color: Maroon;">24</span><span style="color: Red;">%</span><span style="color: Gray;">,rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">)), color-stop(</span><span style="color: Maroon;">71</span><span style="color: Red;">%</span><span style="color: Gray;">,rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">)), color-stop(</span><span style="color: Maroon;">100</span><span style="color: Red;">%</span><span style="color: Gray;">,rgba(</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">255</span><span style="color: Gray;">,</span><span style="color: Maroon;">.61</span><span style="color: Gray;">)))</span><span style="color: Gray;">; /</span><span style="color: Blue;">*</span><span style="color: Gray;"> </span><span style="color: Blue;">webkit</span><span style="color: Gray;"> </span><span style="color: Blue;">*</span><span style="color: Gray;">/</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">.zoomBar</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">font-family:</span><span style="color: Gray;"> arial, helvetica</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">color:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#fff</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">text-decoration:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">block</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">bottom:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">left:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#000</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border-width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border-style:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">solid</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border-color:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#000000</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">padding:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-border-radius:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-border-radius:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">opacity:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">.8</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">filter:</span><span style="color: Gray;">alpha(opacity=</span><span style="color: Maroon;">80</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3985/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>firebug1.7调试实用技巧指南—web前端开发七武器</title>
		<link>http://www.36ria.com/3967</link>
		<comments>http://www.36ria.com/3967#comments</comments>
		<pubDate>Thu, 24 Mar 2011 07:17:43 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端开发工具]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firebug1.7]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3967</guid>
		<description><![CDATA[武器档案 名称：firebug 最新版本：1.7 用途：前端调试器 必备指数： 使用难度： firebug是前端最具盛名的调试器，功能非常强悍。firebug1.7正式版现在已经发布了，完美兼容firefox4.0（无法兼容firefox4.0以下的版本），由于firebug非常易用，这里明河不一一介绍firebug的功能，只给大家介绍一些firebug的实用技巧，有些技巧是firebug1.7才有的，有些是通用的。 1.使用“debugger”关键字快......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug1.7.png" alt="" title="firebug1.7" width="640" height="200" class="alignleft size-full wp-image-3980" /></p>
<h4>武器档案</h4>
<ul>
<li>名称：<a href="http://getfirebug.com/">firebug</a></li>
<li>最新版本：1.7</li>
<li>用途：前端调试器</li>
<li>必备指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img></li>
<li>使用难度：<img src="http://www.36ria.com/star.png" class="icon-star"></img></li>
</ul>
<p>firebug是前端最具盛名的调试器，功能非常强悍。firebug1.7正式版现在已经发布了，完美兼容firefox4.0（无法兼容firefox4.0以下的版本），由于firebug非常易用，这里明河不一一介绍firebug的功能，只给大家介绍一些firebug的实用技巧，有些技巧是firebug1.7才有的，有些是通用的。</p>
<h4>1.使用“debugger”关键字快速断点调试</h4>
<p>正常如果我们想debugger下js代码，先进入“脚本”面板，然后找到要调试的js文件，最后在你需要调试的行，打上断点，最后刷新页面，如下图：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-1.gif" alt="" title="firebug-1" width="308" height="283" class="alignleft size-full wp-image-3968" /><img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-2.gif" alt="" title="firebug-2" width="498" height="192" class="alignleft size-full wp-image-3969" /><br />
有没有更快速的断点方式呢？那就是使用“debugger”关键字快速断点调试，接着往下看。<br />
<strong>在你要调试的代码行前面，加一行”debugger;”</strong>，比如下面的</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">debugger</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">steps</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;"> == </span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">self</span><span style="color: Gray;">.</span><span style="color: Blue;">isRender</span><span style="color: Gray;"> = </span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li></ol></div>
<p>然后刷新下页面，如下图：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-3.gif" alt="" title="firebug-3" width="348" height="261" class="alignleft size-full wp-image-3970" /><br />
断到点了！是不是很方便，你无须再切换到脚本，再花心思找对应的调试脚本，这里我们只需要加个debugger;即可，放心，脚本不会报错，当然你正式发布脚本的时候，务必把debugger;关键字去掉哦。</p>
<h4>2.快速定位指定行的代码</h4>
<p>比如我要快速定位到第122行的代码，你可以如下操作。<br />
在搜索框上输入“#122”，就可以找到指定行的代码了！<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-4.gif" alt="" title="firebug-4" width="315" height="118" class="alignleft size-full wp-image-3971" /></p>
<h4>3.只显示起作用的css属性</h4>
<p>firebug1.7是默认开启的，如下图：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-5.gif" alt="" title="firebug-5" width="212" height="142" class="alignleft size-full wp-image-3972" />当勾选第一项“Only Show Applied Style”时，只显示起作用的样式，如果我们把这项去掉，看下效果。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-6.gif" alt="" title="firebug-6" width="178" height="136" class="alignleft size-full wp-image-3973" /><br />
被覆盖，不起作用的css属性就会出现了。</p>
<h4>4.如何查看hover的css属性</h4>
<p>加了hover属性的容器，鼠标滑过，在HTML面板右侧会出现hover属性，但你移开就没有了，如果你希望在面板中保留hover属性，看下面：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-7.gif" alt="" title="firebug-7" width="212" height="142" class="alignleft size-full wp-image-3974" /><br />
勾选最后一项hover即可。</p>
<h4>5.如何理解脚本面板中的“堆栈”</h4>
<p>堆栈，可以理解为执行顺序总揽，“监控”起到微观作用，让我们知道变量的赋值情况，而监控起到宏观作用，让我们知道，脚本的运行流程。<br />
是不是用的很少？其实堆栈信息已经第一时间出现在面板了，只是很少人留意，截个图给大家瞧瞧：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-8.gif" alt="" title="firebug-8" width="416" height="231" class="alignleft size-full wp-image-3975" /><br />
高亮部分就是堆栈信息！</p>
<h4>6.循环体内的特例调试</h4>
<p>调试循环体，有个很杯具的地方，在循环内部打个断点，循环20次，会触发20次断点&#8230;&#8230;这很愁人，影响调试效率，其实我们只需要调试循环第2次的情况。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-9.gif" alt="" title="firebug-9" width="391" height="82" class="alignleft size-full wp-image-3976" /><br />
右击断点处，会出现一个蓝色的弹出层，让你输入监控表达式，这时候输入i == 2，再按“F8”，你就会发现直接跳到第二次循环了。<br />
（图截不下来，无法奉上图片见谅。）</p>
<h4>7.以独立窗口的形式打开firebug</h4>
<p>1.7firebug的面板可以变成独立窗口了，快捷键：“ctrl+F12”，也可以点击如下图的位置。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-10.gif" alt="" title="firebug-10" width="268" height="198" class="alignleft size-full wp-image-3977" /></p>
<h4>8.向控制台输出日记消息</h4>
<p>在你的代码上输出个“36ria.com”，如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">36ria.com</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">error</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">36ria.com</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>使用console.log的效率，个人觉得还是比原始的alert()来的高的，关键是console.log()不会中断程序执行。</p>
<h4>9.利用命名行工具，快速定位对象</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-11.gif" alt="" title="firebug-11" width="372" height="193" class="alignleft size-full wp-image-3978" /><br />
step1这个对象，是KISSY.Step()的实例，明河想要知道这个对象内部的赋值情况，只要在命令行上键入”step1&#8243;，就会在控制台上出现相关信息，然后我再点击该信息，就进入了DOM详细信息界面。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/firebug-12.gif" alt="" title="firebug-12" width="640" height="80" class="alignleft size-full wp-image-3979" /></p>
<h4>明河结语</h4>
<p>先写到这里，firebug还有其他技巧，日后补上，欢迎前端朋友补充，感激不尽。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3967/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>css3实战—制作照片卷曲阴影效果</title>
		<link>http://www.36ria.com/3964</link>
		<comments>http://www.36ria.com/3964#comments</comments>
		<pubDate>Mon, 21 Mar 2011 14:09:01 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[css3]]></category>
		<category><![CDATA[css3实战]]></category>
		<category><![CDATA[css3教程]]></category>
		<category><![CDATA[阴影效果]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3964</guid>
		<description><![CDATA[（留意图片底部二角的阴影效果） 要实现容器阴影效果，对于css3来说只是小菜一碟，使用box-shadow类似如下代码即可搞定： box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; &#160; &#160; -webkit-box-shadow: 0 1px 4px&#160;rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.1) inset; &#160; &#160; -moz-box-shadow: 0 1px 4px&#160;rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; 但如果要实现demo中的卷曲阴影效果，......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/css3-shadow.gif" alt="" title="css3-shadow" width="658" height="220" class="alignleft size-full wp-image-3965" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/css3-shadow/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=212" title="名称：css3-shadow，下载次数：96，文件大小：75.95 kB" class="btn-download">点此下载</a></li>
</ul>
<p>（留意图片底部二角的阴影效果）<br />
要实现容器阴影效果，对于css3来说只是小菜一碟，使用<strong>box-shadow</strong>类似如下代码即可搞定：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">box-shadow: 0 1</span><span style="color: Blue;">px</span><span style="color: Gray;"> 4</span><span style="color: Blue;">px</span><span style="color: Gray;"> </span><span style="color: Blue;">rgba</span><span style="color: Gray;">(0, 0, 0, 0.27), 0 0 40</span><span style="color: Blue;">px</span><span style="color: Gray;"> </span><span style="color: Blue;">rgba</span><span style="color: Gray;">(0, 0, 0, 0.06) </span><span style="color: Blue;">inset</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -webkit-box-shadow: 0 1</span><span style="color: Blue;">px</span><span style="color: Gray;"> 4</span><span style="color: Blue;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">rgba</span><span style="color: Gray;">(0, 0, 0, 0.27), 0 0 60</span><span style="color: Blue;">px</span><span style="color: Gray;"> </span><span style="color: Blue;">rgba</span><span style="color: Gray;">(0, 0, 0, 0.1) </span><span style="color: Blue;">inset</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -moz-box-shadow: 0 1</span><span style="color: Blue;">px</span><span style="color: Gray;"> 4</span><span style="color: Blue;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">rgba</span><span style="color: Gray;">(0, 0, 0, 0.27), 0 0 40</span><span style="color: Blue;">px</span><span style="color: Gray;"> </span><span style="color: Blue;">rgba</span><span style="color: Gray;">(0, 0, 0, 0.06) </span><span style="color: Blue;">inset</span><span style="color: Gray;">;</span></li></ol></div>
<p>但如果要实现demo中的卷曲阴影效果，我们还需要其他的css3技巧，而这些技巧就是今天明河要讲的重点。</p>
<h4>1.卷曲阴影效果原理说明</h4>
<p>想要单纯使用css，不借助图片来实现卷曲阴影效果，我们需要解决一个问题：如何给一个容器加上带有一定倾斜度的阴影。有一个通俗易懂的方案，在容器内部加上二个带阴影（带旋转角度）的子容器，二个子容器的位置正好位于父容器底部的左右二个位置，然后我们再给图片设置成相对定位，z-index大于二个阴影子容器，这样图片会遮住这二个阴影子容器，就形成demo上的效果。<br />
是的，实际上，完全可以使用这样的方案，但有个问题，即太繁琐了，我们需要另外给容器加二个层。<br />
有没有不需要插入层，也不不要脚本，单纯使用css就可以往容器内部插内容的方法呢？<br />
我想，有朋友已经想到了！right，就是利用<strong>:before</strong>和<strong>:after</strong>这二个伪类！</p>
<h4>2.图片容器的css代码</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.photo-box</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">relative</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#ffffff</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border:</span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">solid</span><span style="color: Gray;"> </span><span style="color: #00008b;">#cccccc</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">4</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.27</span><span style="color: Gray;">), </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">40</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.06</span><span style="color: Gray;">) </span><span style="color: Red;">inset</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">4</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.27</span><span style="color: Gray;">), </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">60</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.1</span><span style="color: Gray;">) </span><span style="color: Red;">inset</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">4</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.27</span><span style="color: Gray;">), </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">40</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.06</span><span style="color: Gray;">) </span><span style="color: Red;">inset</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Maroon;">640</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">height:</span><span style="color: Maroon;">200</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>我们给这个图片容器加上阴影，如果你的代码需要兼容IE，请自行加上IE阴影滤镜。<br />
关于box-shadow这个css3阴影属性，网上相关的介绍实在太多了，猛击这里进入《<a href="http://paranimage.com/css3-box-shadow-property-tutorial/">CSS3属性box-shadow使用教程</a>》，这篇文章相当不错，对box-shadow的大部分属性都已经演示到位。</p>
<h4>3.使用:before向容器加入个带有旋转角度和阴影的内容</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.photo-box</span><span style="color: Navy;">:before</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">z-index:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">2</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">transparent</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">70</span><span style="color: Red;">%</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">height:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">55</span><span style="color: Red;">%</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">content:</span><span style="color: Gray;"> ''</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">left:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">bottom:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">22</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">transform:</span><span style="color: Gray;"> skew(-</span><span style="color: Maroon;">15</span><span style="color: Gray;">deg) rotate(-</span><span style="color: Maroon;">6</span><span style="color: Gray;">deg)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-transform:</span><span style="color: Gray;"> skew(-</span><span style="color: Maroon;">15</span><span style="color: Gray;">deg) rotate(-</span><span style="color: Maroon;">6</span><span style="color: Gray;">deg)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-transform:</span><span style="color: Gray;"> skew(-</span><span style="color: Maroon;">15</span><span style="color: Gray;">deg) rotate(-</span><span style="color: Maroon;">6</span><span style="color: Gray;">deg)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">8</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">16</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.3</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">8</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">16</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.3</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">8</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">16</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.3</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>:before和:after这二个伪类需要和content属性结合使用，用于向容器插入新的内容 。当然这里我们不需要向容器插入特别的内容，只是需要插入一个带宽度和高度的阴影容器。<br />
给这个内容层增加旋转：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">transform: </span><span style="color: Blue;">skew</span><span style="color: Gray;">(-15</span><span style="color: Blue;">deg</span><span style="color: Gray;">) </span><span style="color: Blue;">rotate</span><span style="color: Gray;">(-6</span><span style="color: Blue;">deg</span><span style="color: Gray;">);</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -webkit-transform: </span><span style="color: Blue;">skew</span><span style="color: Gray;">(-15</span><span style="color: Blue;">deg</span><span style="color: Gray;">) </span><span style="color: Blue;">rotate</span><span style="color: Gray;">(-6</span><span style="color: Blue;">deg</span><span style="color: Gray;">);</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -moz-transform: </span><span style="color: Blue;">skew</span><span style="color: Gray;">(-15</span><span style="color: Blue;">deg</span><span style="color: Gray;">) </span><span style="color: Blue;">rotate</span><span style="color: Gray;">(-6</span><span style="color: Blue;">deg</span><span style="color: Gray;">);</span></li></ol></div>
<p>transform这个属性还是很神奇的，可以实现很多有意思的效果。这里严重推荐阅读《<a href="http://missdora.net/blog/2010-05/css3-transform">CSS3–transform 变形金刚</a>》，transform大部分属性都演示到位了。<br />
值得一提的是<strong>skew</strong>（拉伸或倾斜），在这个demo中这是很重要的应用，我们需要生成一个平行四边形，来实现更为逼真的卷曲效果。<br />
<strong>rotate</strong>，顾名思义，即旋转这个平行四边形，deg值为正，右旋（顺时针）；为负，左旋（逆时针）。<br />
接下来继续给这个容器加个box-shadow阴影属性，当然值与父容器相同。</p>
<h4>4.使用:after向容器加入个带有旋转角度和阴影的内容</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.photo-box</span><span style="color: Navy;">:after</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">z-index:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">transparent</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">70</span><span style="color: Red;">%</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">height:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">55</span><span style="color: Red;">%</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">content:</span><span style="color: Gray;"> ''</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">right:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">bottom:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">22</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">transform:</span><span style="color: Gray;"> skew(</span><span style="color: Maroon;">15</span><span style="color: Gray;">deg) rotate(</span><span style="color: Maroon;">6</span><span style="color: Gray;">deg)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-transform:</span><span style="color: Gray;"> skew(</span><span style="color: Maroon;">15</span><span style="color: Gray;">deg) rotate(</span><span style="color: Maroon;">6</span><span style="color: Gray;">deg)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-transform:</span><span style="color: Gray;"> skew(</span><span style="color: Maroon;">15</span><span style="color: Gray;">deg) rotate(</span><span style="color: Maroon;">6</span><span style="color: Gray;">deg)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">8</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">16</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.3</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">8</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">16</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.3</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">8</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">16</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0.3</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>与:before其实差不多，不再累述。</p>
<h4>4.图片css</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.photo-box</span><span style="color: Gray;"> </span><span style="color: Blue;">img</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Red;">block</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">relative</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">z-index:</span><span style="color: Maroon;">3</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>留意z-index一定要大于其他二个阴影容器。<br />
完毕！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3964/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>YUI Compressor快速使用指南—web前端开发七武器</title>
		<link>http://www.36ria.com/3948</link>
		<comments>http://www.36ria.com/3948#comments</comments>
		<pubDate>Wed, 16 Mar 2011 01:48:10 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端开发工具]]></category>
		<category><![CDATA[YUI Compressor]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3948</guid>
		<description><![CDATA[武器档案 名称：YUI Compressor 最新版本：2.4.2 用途：js/css压缩 必备指数： 使用难度：（YUI Compressor非常易用，只是配置的时候会遇到些麻烦） YUI Compressor是java程序，如果你对java很熟悉的话，大可快速的上手使用yuicompressor.jar；如果你和明河一样，对java很陌生，没关系，一样可以使用YUI Compressor，只不过使用的是淘宝UED前端制作的批处理工具，算是可视化的YUI Compressor工具，使......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor.png" alt="" title="yui-compressor" width="640" height="200" class="alignleft size-full wp-image-3958" /></p>
<h4>武器档案</h4>
<ul>
<li>名称：<a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a></li>
<li>最新版本：2.4.2</li>
<li>用途：js/css压缩</li>
<li>必备指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img></li>
<li>使用难度：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img>（YUI Compressor非常易用，只是配置的时候会遇到些麻烦）</li>
</ul>
<p>YUI Compressor是java程序，如果你对java很熟悉的话，大可快速的上手使用yuicompressor.jar；如果你和明河一样，对java很陌生，没关系，一样可以使用YUI Compressor，只不过使用的是淘宝UED前端制作的批处理工具，算是可视化的YUI Compressor工具，使用极其傻瓜化。今天向大家介绍的就是这款工具。<br />
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=211" title="名称：YUI compressor，下载次数：938，文件大小：816.49 kB" class="btn-download">点此下载</a></p>
<h4>1.配置java运行环境</h4>
<p>在安装YUI Compressor前，先要确保你的机子安装了JDK，并且添加了必要的环境变量。</p>
<h5>1.安装JDK</h5>
<p><a href="http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe" class="btn-download" title="JDK1.6"></a></p>
<h5>2.配置下环境变量</h5>
<p>这里以win7为例，请看下图：<br />
（右击“我的电脑”，进入“属性”界面）<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor-1.gif" alt="" title="yui-compressor-1" width="543" height="430" class="alignleft size-full wp-image-3951" /><br />
(新建个JAVA_HOME变量，指向你安装的JDK的根目录，比如明河把JDK安装在C:\Program Files\Java\jdk1.6.0_10，那么JAVA_HOME就指向该路径)<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor-2.gif" alt="" title="yui-compressor-2" width="380" height="391" class="alignleft size-full wp-image-3952" /><br />
再新建个<strong>PATH</strong>变量（如果已经存在PATH编辑，点击“编辑”即可），值为%JAVA_HOME%\bin;（留意分号，如果已经存在PATH路径记得在值前加;号分隔符）。<br />
明河机子上的配置是<strong>.;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;</strong><br />
再新建个<strong>CLASS_PATH</strong>变量，值为<strong>.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar</strong></p>
<h5>3.测试下配置是否成功</h5>
<p>在cmd界面，输入<strong>javac</strong><br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor-3.gif" alt="" title="yui-compressor-3" width="425" height="255" class="alignleft size-full wp-image-3953" /><br />
出现下面的信息，说明配置成功了。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor-4.gif" alt="" title="yui-compressor-4" width="386" height="312" class="alignleft size-full wp-image-3954" /><br />
如果出现“&#8217;javac&#8217; 不是内部或外部命令，也不是可运行的程序或批处理文件”，说明配置有误。</p>
<h4>2.安装YUI Compressor</h4>
<p>运行压缩包的<strong>install.cmd</strong>，如果出现“rundll32 不是内部或外部命令，也不是可运行的程序或批处理文件”，说明java环境配置有误，请返回第一步。<br />
安装完成后，会在你的系统右键菜单增加一个压缩文章（只有在右击文件的时候才会出现哦）。接下来以压缩包中的test.js为例。</p>
<h4>3.YUI Compressor简易操作</h4>
<p>右击test.js<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor-5.gif" alt="" title="yui-compressor-5" width="209" height="322" class="alignleft size-full wp-image-3955" /><br />
点击“process with YUI Compressor”，稍等片刻，就会生成一个test-min.js文件，可以比较下二者的大小：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor-6.gif" alt="" title="yui-compressor-6" width="286" height="189" class="alignleft size-full wp-image-3956" /><img src="http://www.36ria.com/wp-content/uploads/2011/03/yui-compressor-7.gif" alt="" title="yui-compressor-7" width="290" height="182" class="alignleft size-full wp-image-3957" /><br />
从28K到14K，效果是立竿见影！压缩率达到50%！<br />
除了可以从XX.js生成XX-min.js，也可以从XX.source.js生成XX.js。</p>
<h4>4.YUI Compressor结合ant</h4>
<p>请看<a href="http://www.36ria.com/4644">《ant结合yui-compressor和closure-compiler—ant入门指南（7）》</a>，结合ant，你可以批量压缩js/css文件。</p>
<h4>5.明河结语</h4>
<p>强烈建议使用YUI Compressor压缩css文件，从压缩率来讲js的压缩Google Closure Compiler，更胜一筹，但Google Closure Compiler对你的代码要求很严格的哦，当然这也是好事。关于Google Closure Compiler，以后明河会给大家介绍。</p>
<p>扩展阅读：</p>
<ul>
<li><a href="http://www.planabc.net/2009/08/02/javascript-compression_with_yui_compressor/">YUI Compressor 组件压缩 JavaScript 的一些原理</a></li>
<li><a href="http://www.slideshare.net/nzakas/extreme-javascript-compression-with-yui-compressor">《Extreme JavaScript Compression With YUI Compressor》</a></li>
<li><a href="http://developer.yahoo.com/yui/compressor/#work">《How does the YUI Compressor work?》</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3948/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>前端中文原创推荐—只有香如故</title>
		<link>http://www.36ria.com/3945</link>
		<comments>http://www.36ria.com/3945#comments</comments>
		<pubDate>Mon, 14 Mar 2011 01:33:35 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端原创推荐]]></category>
		<category><![CDATA[前端]]></category>
		<category><![CDATA[前端中文原创推荐]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3945</guid>
		<description><![CDATA[1.这样去写你的 HTML 推荐指数： 博客：幸福收藏夹 明河点评：非常好的文章，作为web前端开发者，我们几乎每天都与html标签打交道，但关于如何更好的使用html标签，更多靠我们主观的判断，来看下这篇文章，关于html标签使用的总结。 2.IDEA快捷键使用技巧整理 推荐指数： 博客：猪的明天 明河点评：明河一直想写关于IDEA的教程，苦于时间有限，迟迟未动工，感谢猪的明天，......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/f2e.png" alt="" title="f2e" width="640" height="200" class="alignleft size-full wp-image-3946" /></p>
<h4>1.<a href="http://sofish.de/1688" target="_blank">这样去写你的 HTML</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://sofish.de/">幸福收藏夹</a></li>
</ul>
<p><strong>明河点评：</strong>非常好的文章，作为web前端开发者，我们几乎每天都与html标签打交道，但关于如何更好的使用html标签，更多靠我们主观的判断，来看下这篇文章，关于html标签使用的总结。</p>
<h4>2.<a href="http://uecss.com/idea-shortcuts-use-skill.html" target="_blank">IDEA快捷键使用技巧整理</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://sofish.de/">猪的明天</a></li>
</ul>
<p><strong>明河点评：</strong>明河一直想写关于IDEA的教程，苦于时间有限，迟迟未动工，感谢猪的明天，非常好的idea快捷键技巧整理。IDEA真的是一款非常好的前端IDE，严重推荐使用。</p>
<h4>3.<a href="http://www.lzlu.com/blog/?p=623" target="_blank">基于KISSY的表单验证组件Authenticate</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://www.lzlu.com/">何畏的博客</a></li>
</ul>
<h4>4.<a href="http://www.xunzou.com/blog/post/620.html" target="_blank">Html5初探（1）——HTML5新增标签及属性</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://www.xunzou.com/blog/">冰剑的博客</a></li>
</ul>
<h4>5.<a href="http://ued.taobao.com/blog/2011/03/09/reply_to_students/" target="_blank">写给同学们的一封回信</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://ued.taobao.com/blog/">淘宝UED</a></li>
</ul>
<p><strong>明河点评：</strong>小马哥给一个想从事前端工作同学的回信，也许会给你些启发。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3945/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何使用kissy的flash本地存储</title>
		<link>http://www.36ria.com/3931</link>
		<comments>http://www.36ria.com/3931#comments</comments>
		<pubDate>Thu, 10 Mar 2011 04:53:04 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[kissy]]></category>
		<category><![CDATA[flash本地存储]]></category>
		<category><![CDATA[本地共享对象]]></category>
		<category><![CDATA[本地存储]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3931</guid>
		<description><![CDATA[在web开发中，难免遇到记忆用户信息的需求，比如为了不让用户评论时重复输入用户名、邮箱、站点信息，一般的做法是使用cookies，但大家都知道cookies的容量是很小的（字节数和个数都是有限制的，关于限制大小信息请猛击这里查看），在平常的小站点不会遇到cookies不够用的情况，但如果你正在处理大型的web应用，就很有可能遇到该问题（大的互联网公司，开发人员想要写......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/kissy-store.png" alt="" title="kissy-store" width="640" height="200" class="alignleft size-full wp-image-3940" /><br />
在web开发中，难免遇到记忆用户信息的需求，比如为了不让用户评论时重复输入用户名、邮箱、站点信息，一般的做法是使用cookies，但大家都知道cookies的容量是很小的（字节数和个数都是有限制的，关于限制大小信息<a href="http://topmanopensource.javaeye.com/blog/552063">请猛击这里查看</a>），在平常的小站点不会遇到cookies不够用的情况，但如果你正在处理大型的web应用，就很有可能遇到该问题（大的互联网公司，开发人员想要写入cookies一般是需要申请的）。<br />
为了解决cookies的容量过小的问题，出现了其他比cookies更强大的方案，比如：flash的本地共享对象（flash cookie）、google的gears（wordpress支持，目前好像停止更新了）、html5本地存储（localStorage）。html5本地存储，明河日后将详细介绍给大家，今天明河介绍下flash的本地共享对象。</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/kissy-store/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=210" title="名称：kissy-store，下载次数：100，文件大小：30.97 kB" class="btn-download">点此下载</a></li>
</ul>
<h4>1.什么是本地共享对象（ISO）</h4>
<p><a href="http://www.adobe.com/cn/products/flashplayer/articles/lso/">猛击这里进入查看官方文档说明</a>，简单点讲，flash的本地共享对象就是加强版的cookies，机制上也是类似的，比如无法跨域访问，不会主动记忆用户信息。<br />
想要在web页面js调用flash的本地共享对象，这里必然要借助flash的actionscript和javascript的通信接口：<strong>ExternalInterface</strong>。<br />
整个过程的确比浏览器的cookies繁琐不少，幸运的是，很多js框架（包括kissy）已经帮我们封装好了本地共享对象方法，我们无需了解flash的内部实现，即可在外部轻松的调用该接口。<br />
kissy是如何调用flash的本地共享对象的呢？</p>
<h4>2.使用本地共享对象，需要引入的kissy模块</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">kissy/flash/flash-pkg-min.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">kissy/ajbridge/ajbridge/ajbridge-pkg-min.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">kissy/ajbridge/store/store-pkg-min.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>这三个模块，缺一不可哦，接下来明河分别简单介绍下这三个模块</p>
<h4>3.kissy的flash模块</h4>
<p>kissy的flash模块中，有个很重要的子模块叫：<a href="http://docs.kissyui.com/kissy/docs/flash/flash-embed.html">flash-embed</a>，通过flash-embed，你可以快速的向DOM插入flash对象，你这里自由的控制flashvars（向flash对象传递一些复杂数据的参数）。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">F</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#test-flash3</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">src</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">36ria.com/test.swf</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">version</span><span style="color: Gray;">: </span><span style="color: Maroon;">9</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">attrs</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">width</span><span style="color: Gray;">: </span><span style="color: Maroon;">100</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">height</span><span style="color: Gray;">: </span><span style="color: Maroon;">100</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">params</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">flashvars</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">site</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">'</span><span style="color: Red;">36ria.com</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">author</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">'</span><span style="color: Red;">明河共影</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>上述代码会在id为test-flash3的层上，生成一个宽高为100像素，flashvars为site=36ria.com&#038;author=明河共影的flash对象。</p>
<h4>4.什么是ajbridge？</h4>
<p><a href="http://docs.kissyui.com/kissy-ajbridge/docs/">ajbridge</a>是由龙藏教主牵头开发的kissy独立项目， Actionscript 和 Javascript集合应用，包括flash文件上传、flash本地共享对象等。</p>
<h4>5.ajbridge的store</h4>
<p>&#8230;..总算进入整主的介绍了，store是flash本地存储模块，继承于ajbridge，同时会调用kissy的flash模块，所以想要使用store模块，必须保证flash模块和ajbridge模块已经引入。</p>
<h5>1.请确保在服务器端运行demo页面</h5>
<p>如果你打开的路劲类似file://这是无效的！根据明河观察使用http://localhost/也是无效的，在本地运行demo的朋友，请使用ip。</p>
<h5>2.白名单文件</h5>
<p>你可以在明河的压缩包内找到storage-whitelist.xml（kissy\ajbridge\store），该文件必须和<strong>store.swf</strong>在同一个目录下。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">xml</span><span style="color: Gray;"> </span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">encoding</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">utf-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">?&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">domain-policy</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">allow-access-from</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">domain</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">*</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">domain-policy</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>“*”允许保存所有的域的数据。</p>
<h5>3.准备一个flash容器层层</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ks-fl-store</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>留意不可设置这个层的display:none！</p>
<h5>3.配置Store参数</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">config</span><span style="color: Gray;">=</span><span style="color: Olive;">{</span><span style="color: Blue;">id</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ks-ajb-store</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">attrs</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span><span style="color: Blue;">width</span><span style="color: Gray;">: </span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span><span style="color: Blue;">height</span><span style="color: Gray;">: </span><span style="color: Maroon;">1</span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: Blue;">src</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">kissy/ajbridge/store/store.swf</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">params</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: Blue;">bgcolor</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#C4C4C4</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">}}</span></li></ol></div>
<p>id（flash对象的id）是必不可少的,src为swf路径，也是必不可少的，还有其他参数请看文档。</p>
<h5>4.实例化Store</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">S</span><span style="color: Gray;"> = </span><span style="color: Blue;">KISSY</span><span style="color: Gray;">,</span><span style="color: Blue;">Event</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Event</span><span style="color: Gray;">,</span><span style="color: Blue;">DOM</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">DOM</span><span style="color: Gray;">,</span><span style="color: Blue;">F</span><span style="color: Gray;"> = </span><span style="color: Blue;">KISSY</span><span style="color: Gray;">.</span><span style="color: Blue;">Flash</span><span style="color: Gray;">,</span><span style="color: Blue;">A</span><span style="color: Gray;"> = </span><span style="color: Blue;">AJBridge</span><span style="color: Gray;">,</span><span style="color: Blue;">Store</span><span style="color: Gray;"> = </span><span style="color: Blue;">A</span><span style="color: Gray;">.</span><span style="color: Blue;">Store</span><span style="color: Gray;">,</span><span style="color: Blue;">storeContainer</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">ks-fl-store</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//实例化Store</span></li>
<li><span style="color: Blue;">demoStore</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Store</span><span style="color: Olive;">(</span><span style="color: Blue;">storeContainer</span><span style="color: Gray;">,</span><span style="color: Blue;">config</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h5>5.contentReady事件</h5>
<p>contentReady（本地存储就绪后触发）事件是非常重要的事件，从理论上来讲针对Store的所有操作要在flash本地存储准备完成后才能操作。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//本地存储就绪后触发</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">on</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">contentReady</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">ev</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">user</span><span style="color: Gray;"> = </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">getItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">user</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span><span style="color: Blue;">email</span><span style="color: Gray;"> = </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">getItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">email</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span><span style="color: Blue;">site</span><span style="color: Gray;"> = </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">getItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">site</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">user</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#user</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">user</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">email</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#email</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">email</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">site</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#site</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">site</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">})</span></li></ol></div>
<p>上述的代码，将获取本地存储三个字段：用户名、邮箱、网站信息，并把三个信息写入到对应的输入框。</p>
<h5>6.获取指定字段的值</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">user</span><span style="color: Gray;"> = </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">getItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">user</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span></li></ol></div>
<h5>7.设置存储字段</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">setItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">user</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#user</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li></ol></div>
<h4>6.demo完整代码</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">S</span><span style="color: Gray;"> = </span><span style="color: Blue;">KISSY</span><span style="color: Gray;">,</span><span style="color: Blue;">Event</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Event</span><span style="color: Gray;">,</span><span style="color: Blue;">DOM</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">DOM</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">F</span><span style="color: Gray;"> = </span><span style="color: Blue;">KISSY</span><span style="color: Gray;">.</span><span style="color: Blue;">Flash</span><span style="color: Gray;">,</span><span style="color: Blue;">A</span><span style="color: Gray;"> = </span><span style="color: Blue;">AJBridge</span><span style="color: Gray;">,</span><span style="color: Blue;">Store</span><span style="color: Gray;"> = </span><span style="color: Blue;">A</span><span style="color: Gray;">.</span><span style="color: Blue;">Store</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">config</span><span style="color: Gray;">=</span><span style="color: Olive;">{</span><span style="color: Blue;">id</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ks-ajb-store</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">attrs</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span><span style="color: Blue;">width</span><span style="color: Gray;">: </span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span><span style="color: Blue;">height</span><span style="color: Gray;">: </span><span style="color: Maroon;">1</span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: Blue;">src</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">kissy/ajbridge/store/store.swf</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">params</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: Blue;">bgcolor</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#C4C4C4</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">}}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">storeContainer</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">ks-fl-store</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//实例化Store</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">demoStore</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Store</span><span style="color: Olive;">(</span><span style="color: Blue;">storeContainer</span><span style="color: Gray;">,</span><span style="color: Blue;">config</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//本地存储就绪后触发</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">on</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">contentReady</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">ev</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">user</span><span style="color: Gray;"> = </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">getItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">user</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span><span style="color: Blue;">email</span><span style="color: Gray;"> = </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">getItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">email</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span><span style="color: Blue;">site</span><span style="color: Gray;"> = </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">getItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">site</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">user</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#user</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">user</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">email</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#email</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">email</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">site</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#site</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">site</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">})</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//demo1</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">Event</span><span style="color: Gray;">.</span><span style="color: Blue;">on</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#save</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">click</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">ev</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">setItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">user</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#user</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">setItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">email</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#email</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">demoStore</span><span style="color: Gray;">.</span><span style="color: Blue;">setItem</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">site</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#site</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">保存成功！请重新打开浏览器试下！</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">})</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3931/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>css3实战—制作一个弹性滑动的图片显示</title>
		<link>http://www.36ria.com/3932</link>
		<comments>http://www.36ria.com/3932#comments</comments>
		<pubDate>Mon, 07 Mar 2011 14:13:47 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[css3]]></category>
		<category><![CDATA[css3实战]]></category>
		<category><![CDATA[css3教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3932</guid>
		<description><![CDATA[看了demo的朋友，猜猜为了实现这个效果，明河使用了几行js代码？100行？200行？曾经明河实现了一样的效果，用了195行的js代码，有兴趣的朋友可以猛击《divSlider — jquery滑动门插件（明河作品）》，而在这个demo中，明河用了0行的js代码！是的，你没看错，真的是0行，不信可以打开demo源代码看下（说这段时明河突然想起了很搞的电视广告，候总吼着八心八箭&#8230;此处省略1W字......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/css3-flexbox1.png" alt="" title="css3-flexbox" width="640" height="146" class="alignleft size-full wp-image-3935" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/css3-flexbox/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=209" title="名称：css3实战—制作一个弹性滑动的图片显示，下载次数：123，文件大小：226.23 kB" class="btn-download">点此下载</a></li>
</ul>
<p>看了demo的朋友，猜猜为了实现这个效果，明河使用了几行js代码？100行？200行？曾经明河实现了一样的效果，用了195行的js代码，有兴趣的朋友可以猛击《<a href="http://www.36ria.com/2012">divSlider — jquery滑动门插件（明河作品）</a>》，而在这个demo中，明河用了0行的js代码！是的，你没看错，真的是0行，不信可以打开demo源代码看下（说这段时明河突然想起了很搞的电视广告，候总吼着八心八箭&#8230;此处省略1W字&#8230;.）。<br />
demo上的弹性滑动效果，单纯依靠css3实现的，所以请和明河一样无视IE，由于firefox不支持css3动画，所以在firefox下浏览也是有问题的，IE9也无法使用，请使用chrome测试。<br />
明河通过这个demo，将介绍一个少见的css3属性给大家：<strong>box-flex</strong>和<strong>弹性盒模型</strong>。</p>
<h4>1.html代码</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">flexbox</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">images/1.png</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">死神1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">images/2.png</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">死神2</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">images/3.png</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">死神3</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">images/1.png</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">死神4</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">images/2.png</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">死神5</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h4>2.css代码</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">background-color:</span><span style="color: #00008b;">#ffffff</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;"> -webkit-box</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;"> -moz-box</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;"> box</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-orient:</span><span style="color: Gray;"> horizontal</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-box-orient:</span><span style="color: Gray;"> horizontal</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-orient:</span><span style="color: Gray;"> horizontal</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-align:</span><span style="color: Gray;"> stretch</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">margin-top:</span><span style="color: Maroon;">20</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">relative</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">overflow:</span><span style="color: Red;">hidden</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">text-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> rgba(</span><span style="color: Maroon;">240</span><span style="color: Gray;">,</span><span style="color: Maroon;">240</span><span style="color: Gray;">,</span><span style="color: Maroon;">240</span><span style="color: Gray;">,</span><span style="color: Maroon;">0.7</span><span style="color: Gray;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-shadow:</span><span style="color: Maroon;">0</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#cccccc</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#cccccc</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-box-shadow:</span><span style="color: Maroon;">0</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#cccccc</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> &gt; </span><span style="color: Blue;">div</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-flex:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-box-flex:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-flex:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-align:</span><span style="color: Gray;"> stretch</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">o-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> &gt; </span><span style="color: Blue;">div</span><span style="color: Navy;">:hover</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">500</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>所有代码都发完了&#8230;就是这么简单。我想很多朋友对css中的诸多属性很疑惑，什么是<strong>display: box</strong>？<strong>box-flex: 1;</strong>意味着什么？</p>
<h4>3.弹性盒模型</h4>
<p>看了demo，也许你会有疑问：是如何实现均分容器的宽度的（每张图片初始所占容器的宽度都是一样的）？按照传统的做法是使用百分比，设置每个div为20%（5张图片），然后设置成浮动布局。<br />
但在明河贴出的代码上设置div的<strong>width:0</strong>，既然宽度为0了，demo中为什么可以实现均分呢？专门看下div（图片容器）的代码：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> &gt; </span><span style="color: Blue;">div</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-flex:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-box-flex:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-flex:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-align:</span><span style="color: Gray;"> stretch</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">o-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>我想很多认真的朋友已经发现秘密了：<strong>box-flex: 1;</strong>，如果这里的1解释为<strong>比例</strong>中的1，也就是div（图片容器）是按照1:1:1:1:1来布局，这就解释了为什么可以实现均分。<br />
从上述说明中，我们可以得出一个结论：所谓弹性盒模型，是一种按<strong>比例分配</strong>的布局方式。<br />
在你的子容器（比如demo的图片容器div）使用box-flex前，必须保证你的父容器（比如demo的样式名为flexbox的div）已经声明了其为弹性盒模型。<br />
<strong>如何声明呢？</strong></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;"> -webkit-box</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;"> -moz-box</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;"> box</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p><strong>display: box;</strong>（<strong>display: inline-box;</strong>也是有效的），就表明其子容器可以随意按比例分配容器宽度/高度。<br />
留意这里浏览器兼容的处理方式，是<strong>display: -moz-box;</strong>不是<strong>-moz-display: box;</strong>。</p>
<h4>4.box-flex</h4>
<p>前面已经提过box-flex表明当前容器占父容器宽度/高度的比例，box-flex的值至少为1的整数。<br />
现在考虑鼠标滑过的情况：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> &gt; </span><span style="color: Blue;">div</span><span style="color: Navy;">:hover</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">500</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>当鼠标滑过当前图片容器div，设置其宽度为500像素，这里出现了一种情况：如果有一个子容器的宽度是定死的，比如width:500px，那其他子容器依旧按照比例分配，这时候如何处理呢？<br />
这是弹性盒模型的强大之处：当一个子容器是定宽的，其他子容器就不再平分父容器的宽度，而是平分（父容器宽度-该定宽容器宽度）剩余宽度，当然高度也是这种情况。<br />
比如demo中父容器是950px，定宽容器宽度是500px，其他容器依旧是1:1:1:1，那么平分的是450px的宽度。<br />
这就是为什么当你鼠标滑过图片容器后，宽度改变了，但其他容器宽度能够随之改变，而且可以均分。<br />
当为什么firefox看不到滑动的动画效果呢？接着看。</p>
<h4>5.css3的动画</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> &gt; </span><span style="color: Blue;">div</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">o-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">transition:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">all</span><span style="color: Gray;"> </span><span style="color: Maroon;">0.5</span><span style="color: Gray;">s ease-out</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>transition按字面理解叫“转换”，但明显表达不到位，根据其达到的效果来看，我们姑且叫它“缓动动画”，transition动画，当你改变容器的大小、颜色、布局、透明度等就会触发，简单说明下其属性：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">transition: </span><span style="color: Blue;">all</span><span style="color: Gray;"> 0.5</span><span style="color: Blue;">s</span><span style="color: Gray;"> </span><span style="color: Blue;">ease-out</span><span style="color: Gray;">;</span></li></ol></div>
<ul>
<li>1.指定当元素哪个属性改变时执行Transition效果，属性可以时以下属性：none、all以及其他可以触发浏览器reflow或repaint的属性。</li>
<li>2.速度</li>
<li>3.缓动函数（效果）,有如下值：ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier(x1, y1, x2, y2)</li>
</ul>
<p>firefox目前不支持该属性（目前还不知道firefox4.0是否支持）。</p>
<h4>6.box-orient</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-orient:</span><span style="color: Gray;"> horizontal</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-box-orient:</span><span style="color: Gray;"> horizontal</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-orient:</span><span style="color: Gray;"> horizontal</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>box-orient用来确定子元素的方向,可以横向布局，也可以纵向布局。可选的值有：<strong>horizontal </strong>| <strong>vertical </strong>| inline-axis | block-axis | inherit。<br />
默认值是<strong>inline-axis</strong>，效果等同于horizontal，横向布局。block-axis等同于vertical，纵向布局。</p>
<h4>7.box-align</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.flexbox</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">box-align:</span><span style="color: Gray;"> stretch</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>box-align指的是弹性盒模型垂直方向对齐方式，属性值有：start | end | center | baseline | stretch。<br />
默认值为：<strong>stretch</strong>，拉伸，即父容器高度有多高，子容器也多高，可以理解为垂直方向，子容器会占满父容器高度。</p>
<h4>8.未解之谜：width:0;</h4>
<p>在div中的样式中有个width:0;，大家可以试下把它干掉后的效果会是咋样的，你会发现，鼠标滑过的效果变的跳跃且诡异，目前我还找不到好的解释，欢迎朋友们跟我探讨相关问题，谢谢。</p>
<h4>9.明河结语</h4>
<p>弹性盒模型是一个很梦幻的布局方式，推荐大家有时间可以深入挖掘下，还有其他相关属性，明河没讲解到哦。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3932/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>第十二天构建步骤条组件（2）—15天学会kissy</title>
		<link>http://www.36ria.com/3922</link>
		<comments>http://www.36ria.com/3922#comments</comments>
		<pubDate>Thu, 03 Mar 2011 07:42:55 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[kissy]]></category>
		<category><![CDATA[15天学会kissy]]></category>
		<category><![CDATA[kissy教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3922</guid>
		<description><![CDATA[在谈KISSY.Base类之前，明河先来说说kissy中的继承，这是绕不开的话题，想要用好kissy，必须掌握kissy的继承机制。 猛击这里进入查看kissy的继承API，mix、merge、augment、extend这四个核心方法是非常重要的方法，明河严重推荐掌握，接下来明河将通过二个demo说特别明下merge和extend的用法。 1.merge KISSY.merge(a,b)有个很经典的应用场景：合并配置参数，比如合并b对象与a对象，b的对象成......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/kissy-day-12.png" alt="" title="kissy-day-12" width="640" height="200" class="alignleft size-full wp-image-3923" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/ks/day-11.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=191" title="名称：15天学会kissy实例，下载次数：611，文件大小：665.22 kB" class="btn-download">点此下载</a></li>
</ul>
<p>在谈KISSY.Base类之前，明河先来说说kissy中的继承，这是绕不开的话题，想要用好kissy，必须掌握kissy的继承机制。<br />
<a href="http://docs.kissyui.com/kissy/docs/seed/kissy.html">猛击这里进入查看kissy的继承API</a>，mix、merge、augment、extend这四个核心方法是非常重要的方法，明河严重推荐掌握，接下来明河将通过二个demo说特别明下merge和extend的用法。</p>
<h4>1.merge</h4>
<p>KISSY.merge(a,b)有个很经典的应用场景：合并配置参数，比如合并b对象与a对象，b的对象成员会覆盖a的对象成员。<br />
比如：我们的步骤条组件要暴露三个参数供用户自定义，分别是width（宽度）、color（颜色）、act（当前激活步骤）；当然我们需要有默认配置参数，这样当用户不输入参数时，保证有正确的参数供组件使用。<br />
（以下代码为模拟，参见demo页面）</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">param</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Blue;">width</span><span style="color: Gray;"> : </span><span style="color: Maroon;">300</span><span style="color: Gray;">,</span><span style="color: Blue;">color</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">'</span><span style="color: Red;">blue</span><span style="color: #8b0000;">'</span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">defaultConfig</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Blue;">width</span><span style="color: Gray;">: </span><span style="color: Maroon;">200</span><span style="color: Gray;">,</span><span style="color: Blue;">color</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">'</span><span style="color: Red;">red</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">act</span><span style="color: Gray;"> : </span><span style="color: Maroon;">0</span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">config</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">merge</span><span style="color: Olive;">(</span><span style="color: Blue;">defaultConfig</span><span style="color: Gray;">,</span><span style="color: Blue;">param</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">html</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&amp;lt;p&amp;gt;合并后的参数：width为</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">config</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">,color为</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">config</span><span style="color: Gray;">.</span><span style="color: Blue;">color</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">,act为</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">config</span><span style="color: Gray;">.</span><span style="color: Blue;">act</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;默认配置的width为</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">defaultConfig</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&amp;lt;/p&amp;gt; </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">html</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#demo1-container</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">html</span><span style="color: Olive;">)</span></li></ol></div>
<p>从demo中可以看到，param上的成员覆盖了同名的defaultConfig上的成员，param上不存在act成员，但defaultConfig存在，所以config也存在成员act，param和defaultConfig这二个对象并不会因为合并操作而改变本身的值。</p>
<h4>2.extend</h4>
<p>前面说到对象的合并，现在讲讲kissy中的类与类的继承（javascript并没有类这个概念，这里是借用，可能用函数对象更准确些）。<br />
举个例子：我们需要步骤条组件KISSY.Steps继承于TestSteps（测试用）。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//父类</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">TestSteps</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">config</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">self</span><span style="color: Gray;"> = </span><span style="color: Green;">this</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">self</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Gray;"> = </span><span style="color: Blue;">config</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">TestSteps</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">init</span><span style="color: Gray;"> : </span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//子类</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">config</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">self</span><span style="color: Gray;"> = </span><span style="color: Green;">this</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">self</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Gray;"> = </span><span style="color: Blue;">config</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//继承于TestSteps</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">extend</span><span style="color: Olive;">(</span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Gray;">,</span><span style="color: Blue;">TestSteps</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">Event</span><span style="color: Gray;">.</span><span style="color: Blue;">on</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#btn-demo2</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">click</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">ev</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">steps</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Olive;">({</span><span style="color: Blue;">width</span><span style="color: Gray;">:</span><span style="color: Maroon;">200</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">steps</span><span style="color: Gray;">.</span><span style="color: Blue;">init</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span></li></ol></div>
<p>可以看到，KISSY.Steps，并没有init方法，但继承于TestSteps后，一样可以调用到。</p>
<h4>3.为什么让组件继承KISSY.Base？</h4>
<p>在steps.js上，可以找到如下代码：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//继承于KISSY.Base</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">extend</span><span style="color: Olive;">(</span><span style="color: Blue;">Steps</span><span style="color: Gray;">, </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Base</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>
<strong>KISSY.Base</strong>是<strong>1.1.6</strong>引入的新的方法集合，当你的类继承于KISSY.Base后就拥有了属性的<strong>getter和setter</strong>方法，总所周知，javascript是没有大部分语言拥有的取值器和设值器，所以KISSY.Base模拟出该方法，利用这个特性，你可以很方便的设置参数、获取参数、重置参数，并可以监听参数改变前、改变后事件。现在这么说，的确很抽象，<a href="http://docs.kissyui.com/kissy/docs/base/index.html">猛击这里进入KISSY.Base文档</a>，再<a href="http://docs.kissyui.com/kissy/docs/base/attribute.html">猛击这里进入 attribute文档</a>。
</p>
<p>
举个场景作为例子：KISSY.Steps开放了width参数供用户自定义，有一种情况我们需要考虑的，即初始化结束后，用户因为某种业务需求，需要改变这个width参数，初始化后width为300，用户点击一个按钮，width变成200，当单是参数变量数值的改变是没任何作用的，我们需要一个方法，比如setWidth()，来实际改变步骤li在DOM中的宽度，当然最好还要暴露出一个getWidth()方法，供用户获取宽度。还有一种情况更复杂些，你希望暴露出changeWidth事件，当宽度改变时可以触发。当加上这些需求后，一个参数的设置也许你不会觉得增加了多少代码量，但如果你的参数很多呢？
</p>
<p>这就是KISSY.Base的意义。有兴趣的朋友，可以看下1.1.6中的suggest.js（采用旧的kissy模块写法）和<strong>imagezoom.js</strong>（采用继承KISSY.Base的模块写法），具体体会下二者之间代码风格的差异。imagezoom供配置的参数相当丰富，如果采用旧式的写法，你会发现API非常的繁琐。
</p>
<p>继承KISSY.Base，另外一个好处是<strong>可以直接自定义事件</strong>，而无需再继承<strong>KISSY.EventTarget</strong>，什么是自定义事件？如何自定义事件？这是系列教程事件高级篇的内容，明河将整合到构建步骤条组件里面讲，现在只是提一下，继续我们的KISSY.Base。</p>
<h4>4.实战KISSY.Base</h4>
<p>继承KISSY.Base有几个步骤是不得不提的。</p>
<h5>1)在构造函数中初始化父类(KISSY.Base)</h5>
<p>你可以在function Steps(){}这个构造函数中，发现如下语法：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//超类初始化</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">Steps</span><span style="color: Gray;">.</span><span style="color: Blue;">superclass</span><span style="color: Gray;">.</span><span style="color: Blue;">constructor</span><span style="color: Gray;">.</span><span style="color: Blue;">call</span><span style="color: Olive;">(</span><span style="color: Blue;">self</span><span style="color: Gray;">, </span><span style="color: Blue;">config</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>这语句非常重要，如果缺少这个语句，KISSY.Base就没办法处理配置参数。至于为什么需要这样调用方式？有机会再跟大家分享。</p>
<h5>2)继承KISSY.Base</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//继承于KISSY.Base</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">extend</span><span style="color: Olive;">(</span><span style="color: Blue;">Steps</span><span style="color: Gray;">, </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Base</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h5>3)配置组件的默认参数</h5>
<p>这个步骤也非常的关键</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; * 设置参数</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">Steps</span><span style="color: Gray;">.</span><span style="color: Blue;">ATTRS</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//是否自动运行</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">autoRender</span><span style="color: Gray;"> : </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">value</span><span style="color: Gray;"> : </span><span style="color: Green;">false</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">setter</span><span style="color: Gray;"> : </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">v</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">render</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">v</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//步骤宽度</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">width</span><span style="color: Gray;"> : </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">value</span><span style="color: Gray;"> : </span><span style="color: Maroon;">100</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">setter</span><span style="color: Gray;"> : </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">v</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">当你调用set方法时触发</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">v</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li></ol></div>
<p>ATTRS是Steps的静态对象（采用大写），每个对象成员对应着一个参数，每个参数又有三个成员：value（默认值）、getter（取值器，可以不用）、setter（设值器，可以不用）：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">width</span><span style="color: Gray;"> : </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">value</span><span style="color: Gray;"> : </span><span style="color: Maroon;">100</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">setter</span><span style="color: Gray;"> : </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">v</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">v</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>留意getter和setter方法必须有返回值，即必须有return。</p>
<h5>4)扩展组件方法</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">augment</span><span style="color: Olive;">(</span><span style="color: Blue;">Steps</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">})</span></li></ol></div>
<p><strong>S.augment</strong>用于复制原型prototype方法。</p>
<h5>5)如何设置参数、获取参数？</h5>
<p>请看demo页面，代码如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">steps</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Olive;">()</span><span style="color: Gray;">,</span><span style="color: Blue;">width</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">steps</span><span style="color: Gray;">.</span><span style="color: Blue;">set</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">width</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Maroon;">300</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">width</span><span style="color: Gray;"> = </span><span style="color: Blue;">steps</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">width</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">steps</span><span style="color: Gray;">.</span><span style="color: Blue;">reset</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">html</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#demo3-container</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">新的width为</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span><span style="color: Blue;">width</span><span style="color: Gray;">+</span><span style="color: #8b0000;">'</span><span style="color: Red;">，reset后width变成初始值</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span><span style="color: Blue;">steps</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">width</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li></ol></div>
<p>当继承KISSY.Base后，组件自动带有set()、get()和reset()三个方法，用法简单明了，你无须再写setWidth()，resetWidth()之类的方法。</p>
<h4>4.明河结语</h4>
<p>令人头晕的理论总算讲完了，没有太深入，只是让大家了解一些kissy的继承用法，下面几篇教程开始真正的逻辑处理，应用之前学的dom、event等。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3922/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>9个牛逼的javascript+html5试验性游戏</title>
		<link>http://www.36ria.com/3910</link>
		<comments>http://www.36ria.com/3910#comments</comments>
		<pubDate>Tue, 01 Mar 2011 07:41:03 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[html5]]></category>
		<category><![CDATA[html5实验]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3910</guid>
		<description><![CDATA[1.Untangle 移动蓝色的点，让线不出现重叠，看看你发了多少时间。 2.Z Type &#8230;&#8230;飞机游戏的原型&#8230;.. 3.Cube Out 3D版的积木&#8230;. 4.Bounce &#8230;&#8230;没弄明白是啥意思。 5.Sketch 3D 绘画板。 6.Conductor 是个有意思的效果，线与线相交，会发出声音，画出的随机图形像电路板. 7.Bacterium 8.Ultra Neuron Pong 9.Tank World 非一般的卡，但3d游戏的模型基本上已经出来了，是个好实验。 原文：......]]></description>
			<content:encoded><![CDATA[<h4><a href="http://graph.tk/untangle/">1.Untangle</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/1.jpg" alt="" title="1" width="400" height="240" class="alignleft size-full wp-image-3911" /><br />
移动蓝色的点，让线不出现重叠，看看你发了多少时间。</p>
<h4><a href="http://www.phoboslab.org/ztype/">2.Z Type</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/2.jpg" alt="" title="2" width="400" height="240" class="alignleft size-full wp-image-3912" /><br />
&#8230;&#8230;飞机游戏的原型&#8230;..</p>
<h4><a href="http://alteredqualia.com/cubeout/">3.Cube Out</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/3.jpg" alt="" title="3" width="400" height="240" class="alignleft size-full wp-image-3913" /><br />
3D版的积木&#8230;.</p>
<h4><a href="http://william.hoza.us/bounce/">4.Bounce</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/4.jpg" alt="" title="4" width="400" height="240" class="alignleft size-full wp-image-3914" /><br />
&#8230;&#8230;没弄明白是啥意思。</p>
<h4><a href="http://hakim.se/experiments/html5/sketch/">5.Sketch 3D</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/5.jpg" alt="" title="5" width="400" height="240" class="alignleft size-full wp-image-3915" /><br />
绘画板。</p>
<h4><a href="http://www.mta.me/">6.Conductor</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/6.jpg" alt="" title="6" width="400" height="240" class="alignleft size-full wp-image-3916" /><br />
是个有意思的效果，线与线相交，会发出声音，画出的随机图形像电路板.</p>
<h4><a href="http://hakim.se/experiments/html5/bacterium/01/">7.Bacterium</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/7.jpg" alt="" title="7" width="400" height="240" class="alignleft size-full wp-image-3917" /></p>
<h4><a href="http://www.monokai.nl/lab/ultraNeuronPong/">8.Ultra Neuron Pong</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/8.jpg" alt="" title="8" width="400" height="240" class="alignleft size-full wp-image-3918" /></p>
<h4><a href="http://www.playtankworld.com/">9.Tank World</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/03/9.jpg" alt="" title="9" width="400" height="240" class="alignleft size-full wp-image-3919" /><br />
非一般的卡，但3d游戏的模型基本上已经出来了，是个好实验。</p>
<p>原文：<a href="http://www.queness.com/post/6886/9-incredible-html5-canvas-and-javascript-experiments">http://www.queness.com/post/6886/9-incredible-html5-canvas-and-javascript-experiments</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3910/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>2011版RIA之家设计图放出，征求意见中…</title>
		<link>http://www.36ria.com/3901</link>
		<comments>http://www.36ria.com/3901#comments</comments>
		<pubDate>Mon, 28 Feb 2011 12:57:42 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[作者日记]]></category>
		<category><![CDATA[2011版RIA之家]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3901</guid>
		<description><![CDATA[这次改版最大的变化是，RIA之家将改成团体博客，目前成员为四人，分别是明河、苏河、天河、飞绿，都为淘宝UED的前端工程师。明河也不再使用明河共影这个网名和账号了，哈其实就去掉“共影”&#8230;. 完整的首页设计图请猛击这里进入查看。 （图片很大，请放大查看） 这一版设计浓缩了我不少新的想法和尝试，征求反馈意见中&#8230;.. 新版将彻底不支持IE6、IE7，使用html5......]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3902" title="2011-36ria-index" src="http://www.36ria.com/wp-content/uploads/2011/02/2011-36ria-index.png" alt="" width="640" height="400" /></p>
<p>这次改版最大的变化是，RIA之家将改成<strong>团体博客</strong>，目前成员为四人，分别是明河、苏河、天河、飞绿，都为淘宝UED的前端工程师。明河也不再使用明河共影这个网名和账号了，哈其实就去掉“共影”&#8230;.</p>
<p><strong>完整的首页设计图请<a href="http://www.36ria.com/demo/2011-36ria/index.png">猛击这里</a>进入查看。</strong><br />
（图片很大，请放大查看）<br />
这一版设计浓缩了我不少新的想法和尝试，征求反馈意见中&#8230;..<br />
新版将彻底不支持IE6、IE7，使用html5，预计月底与大家见面。</p>
<h4>1.为什么要改成团体博客？</h4>
<p>明河一人的精力有限，但为了保证更新速度，很多时候不会太注重文章品质，有很多的翻译也欠缺精准，希望以后可以多点时间研磨文章，多发些原创性的有指导性的文章。在改成团体博客后，博客的更新量和质量都有保证，我的三位同事在前端方面实力有保证的，敬请期待他们的文章。</p>
<h4>2.为什么使用html5？</h4>
<p>使用html5布局，今年会是个普及年，会有越来越多的站点重构成html5的站点，新版RIA之家上线后，我们这几个前端会给大家分享下使用html5布局的一些心得和教训。<br />
最后感谢大家一如既往的支持！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3901/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>前端中文原创推荐—人生何处似樽前！</title>
		<link>http://www.36ria.com/3897</link>
		<comments>http://www.36ria.com/3897#comments</comments>
		<pubDate>Sat, 26 Feb 2011 11:03:27 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端原创推荐]]></category>
		<category><![CDATA[前端]]></category>
		<category><![CDATA[前端中文原创推荐]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3897</guid>
		<description><![CDATA[1.HTML5 中 div section article 的区别 推荐指数： 博客：前端观察 文章摘要：关于html5的教程现在是越来越多了，但大部分文章只是很笼统的说html5有哪些好的特性，却很少有文章深入探讨html5新的特性的应用，这是这篇教程的难得之处， section和article是html5二个主推的新语义化标签，严重推荐理解。 2.从头开始做新浪微博小应用(php+js) 推荐指数： 博客：hello，javascript 文章摘要：天......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/02/f2e.png" alt="" title="f2e" width="640" height="200" class="alignleft size-full wp-image-3898" /></p>
<h4>1.<a href="http://www.qianduan.net/html5-differences-in-the-div-section-article.html" target="_blank">HTML5 中 div section article 的区别</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://www.qianduan.net/">前端观察</a></li>
</ul>
<p><strong>文章摘要：</strong>关于html5的教程现在是越来越多了，但大部分文章只是很笼统的说html5有哪些好的特性，却很少有文章深入探讨html5新的特性的应用，这是这篇教程的难得之处， section和article是html5二个主推的新语义化标签，严重推荐理解。</p>
<h4>2.<a href="http://www.html-js.com/?p=1163" target="_blank">从头开始做新浪微博小应用(php+js)</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://www.html-js.com/">hello，javascript</a></li>
</ul>
<p><strong>文章摘要：</strong>天祁的这篇文章非常好！严重推荐阅读，特别对开发微博应用的朋友，天祁给出了oauth很好的认证示例。</p>
<h4>3.<a href="http://www.f2e-arsenal.com/?p=242" target="_blank">Javascript中的命名空间</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://www.f2e-arsenal.com/">Web前端开发兵工厂</a></li>
</ul>
<h4>4.<a href="http://www.d2nb.com/xhtml-css/1371.html" target="_blank">12条保持HTML代码整洁的原则</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://www.d2nb.com/">前端笔记</a></li>
</ul>
<h4>5.<a href="http://ued.5173.com/987.html" target="_blank">未知高度的图片垂直居中</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/02/img-middle-demo.jpg" alt="" title="img-middle-demo" width="650" height="250" class="alignleft size-full wp-image-3899" /></p>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://ued.5173.com/">ued.5173</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3897/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>利用HTML5的window.postMessage实现跨域通信</title>
		<link>http://www.36ria.com/3890</link>
		<comments>http://www.36ria.com/3890#comments</comments>
		<pubDate>Wed, 23 Feb 2011 03:37:28 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript跨域]]></category>
		<category><![CDATA[postMessage]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3890</guid>
		<description><![CDATA[由于同源策略的限制，JavaScript跨域的问题，一直是一个颇为棘手的问题，为了解决js的跨域，web开发人员是煞费苦心，研究了各种跨域方案，如果有机会的话，明河以后会一一展示给各位，今天明河重点介绍下html5新引入的postMessage跨域方案。 1.哪些场景要考虑跨域问题？ 明河这二周在处理淘宝添加收藏夹的重构，里面就有一个非常经典的跨域问题。 添加收藏弹出层外层是淘......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/02/postMessage-2.png" alt="" title="postMessage-2" width="640" height="200" class="alignleft size-full wp-image-3893" /><br />
由于同源策略的限制，JavaScript跨域的问题，一直是一个颇为棘手的问题，为了解决js的跨域，web开发人员是煞费苦心，研究了各种跨域方案，如果有机会的话，明河以后会一一展示给各位，今天明河重点介绍下html5新引入的postMessage跨域方案。</p>
<h4>1.哪些场景要考虑跨域问题？</h4>
<p>明河这二周在处理淘宝添加收藏夹的重构，里面就有一个非常经典的跨域问题。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/02/postMessage.png" alt="" title="postMessage" width="480" height="338" class="alignleft size-full wp-image-3891" /><br />
添加收藏弹出层外层是淘宝商城页面域名是tmall.com，而弹出层内部的页面域名却是taobao.com，接下来的问题就是我现在希望弹出层内部的高度改变了，父页面弹出层的高度也随之改变，同时子iframe内有办法使用一个按钮，关闭父页面的弹出层。<br />
这个场景还是非常经典的，很多朋友估计多多少少都会遇到这个情况，就是有个弹出层里面嵌一个iframe，iframe内的子页面如何操作父页面的弹出层或其他元素？</p>
<h4>2.淘宝商城是如何处理跨域的？</h4>
<p>由于今天主要是讲html5的跨域方案，这里明河简要提一下，有机会跟大家详细分享。<br />
淘宝商城有个专门用于处理跨域的js类TMall.XDomain，这个类会生成子iframe中生成一个新的iframe，这个iframe我们叫它<strong>代理iframe</strong>，代理iframe必须跟父页面时同域的，这样代理iframe就有权限处理父页面。<br />
这里明河推荐阅读以下文章：</p>
<ul>
<li><a href="http://developer.51cto.com/art/201102/245701.htm">JavaScript跨域总结与解决办法</a></li>
<li><a href="http://struts.javaeye.com/blog/266446">iframe跨域</a></li>
<li><a href="http://hereson.javaeye.com/blog/172107">关于document.domain的一些解释</a></li>
</ul>
<h4>3.哪些情况下存在跨域问题？</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/02/1728490.jpg" alt="" title="1728490" width="573" height="403" class="alignleft size-full wp-image-3892" /></p>
<h4>4.HTML5的window.postMessage简述</h4>
<p>postMessage是html为了解决跨域通信，特别引入的一个新的API，目前支持这个API的浏览器有：<strong>Firefox, IE8+, Opera, Safari, Chrome</strong>。postMessage允许页面中的多个iframe/window的通信，postMessage也可以实现ajax直接跨域，不通过服务器端代理。</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/html5-postMessage/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=208" title="名称：html5-postMessage，下载次数：244，文件大小：2.83 kB" class="btn-download">点此下载</a></li>
</ul>
<p>感谢苏河哥哥提供另外个主机作为跨域测试，O(∩_∩)O哈！<br />
在上面的demo中，明河简单演示了postMessage的用法，父页面中有二个不同域的iframe，现在我们要求这二个iframe每过一秒，向对方的内容层传递一行文字，对象一接收到文字就开始输出。</p>
<h4>5.postMessage用法解析</h4>
<p>这里以iframe1.html的代码为例。</p>
<h5>1)向另外一个iframe发送消息</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">message</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">hello，RIA之家！&amp;nbsp;&amp;nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Olive;">(</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Teal;">Date</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">getTime</span><span style="color: Olive;">())</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">parent</span><span style="color: Gray;">.</span><span style="color: Blue;">frames</span><span style="color: Olive;">[</span><span style="color: Maroon;">1</span><span style="color: Olive;">]</span><span style="color: Gray;">.</span><span style="color: Blue;">postMessage</span><span style="color: Olive;">(</span><span style="color: Blue;">message</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">*</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>iframe1.html需要向iframe2.html发送消息，也就是第二个iframe，所以是<strong>window.parent.frames[1]</strong>，如果是向父页面发送消息就是<strong>window.parent</strong>。<br />
<strong>postMessage</strong>这个函数接收二个参数，缺一不可，第一个参数即你要发送的数据，第二个参数是非常重要，主要是出于安全的考虑，一般填写允许通信的域名，这里明河为了简化，所以使用&#8217;*'，即不对访问的域进行判断。</p>
<h5>2)另外一个iframe监听消息事件</h5>
<p>iframe2.html中写个监听message事件，当有消息传到iframe2.html时就会触发这个事件。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">onmessage</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">data</span><span style="color: Gray;"> = </span><span style="color: Blue;">e</span><span style="color: Gray;">.</span><span style="color: Blue;">data</span><span style="color: Gray;">,</span><span style="color: Blue;">p</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">createElement</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">p</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">p</span><span style="color: Gray;">.</span><span style="color: Blue;">innerHTML</span><span style="color: Gray;"> = </span><span style="color: Blue;">data</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">display</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">appendChild</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//监听postMessage消息事件</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Green;">typeof</span><span style="color: Gray;"> </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">addEventListener</span><span style="color: Gray;"> != </span><span style="color: #8b0000;">'</span><span style="color: Red;">undefined</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">addEventListener</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">message</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Blue;">onmessage</span><span style="color: Gray;">, </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Green;">typeof</span><span style="color: Gray;"> </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">attachEvent</span><span style="color: Gray;"> != </span><span style="color: #8b0000;">'</span><span style="color: Red;">undefined</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">attachEvent</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">onmessage</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Blue;">onmessage</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>整个通信过程就结束了！是不是非常简单惬意！<br />
如果你有加域名限,比如下面的代码：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">parent</span><span style="color: Gray;">.</span><span style="color: Blue;">frames</span><span style="color: Olive;">[</span><span style="color: Maroon;">1</span><span style="color: Olive;">]</span><span style="color: Gray;">.</span><span style="color: Blue;">postMessage</span><span style="color: Olive;">(</span><span style="color: Blue;">message</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">http://www.36ria.com</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>就要在onmessage中追加个判断：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">event</span><span style="color: Gray;">.</span><span style="color: Blue;">origin</span><span style="color: Gray;"> !== </span><span style="color: Blue;">http</span><span style="color: Gray;">:</span><span style="color: #ffa500;">//www.36ria.com') return;</span></li></ol></div>
<h4>6.明河结语</h4>
<p>html5的postMessage相当强悍和易用！你可以利用这个特性解决大部分场景下的跨域问题，不用再创建个代理iframe之类的繁琐方法。严重推荐大家练习下该方法，目前的确存在浏览器差异问题，但相信以后会成为主流跨域通信方案。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3890/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>使用jquery制作ajax提交表单时的交互按钮</title>
		<link>http://www.36ria.com/3886</link>
		<comments>http://www.36ria.com/3886#comments</comments>
		<pubDate>Sat, 19 Feb 2011 13:56:35 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[表单]]></category>
		<category><![CDATA[表单设计]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3886</guid>
		<description><![CDATA[当你的表单使用ajax来提交的时候，有一个点要关注：防止用户重复点击提交按钮，同时要跟用户一个良好的交互反馈，比如点击提交后，有“正在提交中&#8230;.”的提示或者出现一张loading图片。 在这个demo很好的展示ajax表单提交时的按钮交互处理，同时代码也不会特别复杂，算是一个学习jquery的不错demo，原文请看《Create a Simple Interactive CSS Button with jQuery》。 1.构建一个简单表......]]></description>
			<content:encoded><![CDATA[<p>当你的表单使用ajax来提交的时候，有一个点要关注：防止用户重复点击提交按钮，同时要跟用户一个良好的交互反馈，比如点击提交后，有“正在提交中&#8230;.”的提示或者出现一张loading图片。</p>
<p>在这个demo很好的展示ajax表单提交时的按钮交互处理，同时代码也不会特别复杂，算是一个学习jquery的不错demo，原文请看《<a href="http://www.queness.com/post/3157/create-a-simple-interactive-css-button-with-jquery">Create a Simple Interactive CSS Button with jQuery</a>》。</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.queness.com/resources/html/button/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=207" title="名称：jquery-ajax-form-button，下载次数：222，文件大小：24.86 kB" class="btn-download">点此下载</a></li>
</ul>
<h4>1.构建一个简单表单</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">form</span><span style="color: Gray;"> </span><span style="color: #00008b;">method</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">post</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">action</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">subscribeForm</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">fieldset</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">label</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Name: </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">label</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">input</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">effect</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">name</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">fieldset</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">fieldset</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">label</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Email: </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">label</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">input</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">effect</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">email</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">fieldset</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">button</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">submit</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Subscribe</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">subscribeForm</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">form</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p><img class="alignleft size-full wp-image-3887" title="button" src="http://www.36ria.com/wp-content/uploads/2011/02/button.gif" alt="" width="600" height="250" /><br />
没什么太特别的地方，接下来看下表单样式，特别留意提交按钮。</p>
<h4>2.表单样式</h4>
<p>按钮样式设置：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">#button</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">margin-top:</span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">padding-right:</span><span style="color: Maroon;">20</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">text-align:</span><span style="color: Red;">right</span><span style="color: Gray;">;&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">#button</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">input</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">margin:</span><span style="color: Maroon;">0</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">auto</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">a.cssSubmitButton</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">font-size:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">12</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#fff</span><span style="color: Gray;"> </span><span style="color: Red;">no-repeat</span><span style="color: Gray;"> </span><span style="color: Maroon;">4</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">inline-block</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">padding:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">20</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">6</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">color:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#333</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">border:</span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">solid</span><span style="color: Gray;"> </span><span style="color: #00008b;">#ccc</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">text-decoration:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">font-weight:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">bold</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">line-height:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">1.2</span><span style="color: Red;">em</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">border-radius:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-border-radius:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-border-radius:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">moz-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">3</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#999</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-shadow:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">3</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#999</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">relative</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">cursor:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">pointer</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">outline:</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">a.cssSubmitButton</span><span style="color: Navy;">:visited</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">a.cssSubmitButton</span><span style="color: Navy;">:hover</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">border:</span><span style="color: Maroon;">1</span><span style="color: Red;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">solid</span><span style="color: Gray;"> </span><span style="color: #00008b;">#333</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>cssSubmitButton这个样式，是脚本用a替换input时加上去了，也是说最后输出的按钮其实是个链接，之后会讲到，留言按钮的几种状态：可用、不可用、正在提交、鼠标滑过。按钮样式无视IE&#8230;&#8230;.</p>
<h4>3.js脚本</h4>
<p>以下脚本会发送ajax请求，同时会给按钮添加loading样式：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">value</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#button input</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">val</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">name</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#button input</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">attr</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">name</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//将按钮容器内的input替换成链接，链接伪装成按钮</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#button input</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">remove</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#button</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">html</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;a href=&quot;#&quot; class=&quot;cssSubmitButton&quot; rel=</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Blue;">name</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Blue;">value</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/a&gt;</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//监听单击事件</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#button a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">live</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">click</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//使用$('form[name=' + $(this).attr('rel') + ']').submit();直接提交表单&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">link</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//ajax提交表单</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $.</span><span style="color: Blue;">ajax</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">url</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">'</span><span style="color: Red;">load.php</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">data</span><span style="color: Gray;">: </span><span style="color: #8b0000;">''</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">type</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">GET</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cache</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">false</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">beforeSend</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//提交前，给链接，添加loading样式</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">link</span><span style="color: Gray;">.</span><span style="color: Blue;">addClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">loading</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">success</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">link</span><span style="color: Gray;">.</span><span style="color: Blue;">removeClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">loading</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">Submitted</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>大功告成！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3886/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>《Fancy Form Design》（爱上表单设计）中文版下载</title>
		<link>http://www.36ria.com/3878</link>
		<comments>http://www.36ria.com/3878#comments</comments>
		<pubDate>Thu, 17 Feb 2011 02:29:21 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[设计]]></category>
		<category><![CDATA[前端资源]]></category>
		<category><![CDATA[电子书]]></category>
		<category><![CDATA[表单设计]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3878</guid>
		<description><![CDATA[非常好的一本书！明河严重推荐！由虫哥呕心沥血翻译而成，此处省略100字，以表达对虫哥的敬仰之情&#8230;&#8230;. 图书档案 名称：Fancy Form Design（爱上表单设计） 翻译：夏虫 页数：94 简介：很精悍的一本书，虽然内容不算多，但关于表单设计的方方面面基本上都覆盖到了，严重推荐前端朋友阅读。 《爱上表单设计》目录结......]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3879" title="Fancy Form Design" src="http://www.36ria.com/wp-content/uploads/2011/02/Fancy-Form-Design.jpg" alt="" width="321" height="420" /><br />
非常好的一本书！明河严重推荐！由虫哥呕心沥血翻译而成，此处省略100字，以表达对虫哥的敬仰之情&#8230;&#8230;.<br />
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=206" title="名称：《爱上表单设计》，下载次数：297，文件大小：3.5 MB" class="btn-download">点此下载</a></p>
<h4>图书档案</h4>
<ul>
<li>名称：Fancy Form Design（<strong>爱上表单设计</strong>）</li>
<li>翻译：夏虫</li>
<li>页数：94</li>
<li>简介：很精悍的一本书，虽然内容不算多，但关于表单设计的方方面面基本上都覆盖到了，严重推荐前端朋友阅读。</li>
</ul>
<h4>《爱上表单设计》目录结构</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/02/Fancy-Form-Design-1.jpg" alt="" title="Fancy Form Design-1" width="253" height="511" class="alignleft size-full wp-image-3880" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3878/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>在wordpress博客首页中构建快速注册表单</title>
		<link>http://www.36ria.com/3866</link>
		<comments>http://www.36ria.com/3866#comments</comments>
		<pubDate>Tue, 15 Feb 2011 13:22:25 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3866</guid>
		<description><![CDATA[休假18天，RIA之家重新恢复更新！同时明河开始着手RIA之家的改版，新版RIA之家争取1个月后与大家见面。 不少朋友，向明河要RIA之家右侧的快速注册表单代码，今天明河就发布个相应教程，同时也算是演练下如何修改wordpress主题。其实向首页追加个注册表单，一点都不难，请看下面明河的分解。 1.进入你的当前主题代码页面 点击“Editor”。 2.打开sidebar.php 这里我们是往侧边......]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3867" title="register" src="http://www.36ria.com/wp-content/uploads/2011/02/register.png" alt="" width="270" height="220" /><br />
休假18天，RIA之家重新恢复更新！同时明河开始着手RIA之家的改版，新版RIA之家争取1个月后与大家见面。<br />
不少朋友，向明河要RIA之家右侧的快速注册表单代码，今天明河就发布个相应教程，同时也算是演练下如何修改wordpress主题。其实向首页追加个注册表单，一点都不难，请看下面明河的分解。</p>
<h4>1.进入你的当前主题代码页面</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/02/Snap21.png" alt="" title="Snap2" width="154" height="148" class="alignleft size-full wp-image-3869" /><br />
点击“Editor”。</p>
<h4>2.打开sidebar.php</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/02/Snap3.png" alt="" title="Snap3" width="142" height="264" class="alignleft size-full wp-image-3870" /><br />
这里我们是往侧边添加注册表单，所以打开的是sidebar.php。</p>
<h4>3.在相应位置添加如下代码</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ria_r_box mar-t-10</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ria_r_box_header icon</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">span</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">box_header_2_title</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">快速注册</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">span</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">form</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">registerform</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">registerform</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">action</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;?php bloginfo('url'); ?&gt;/wp-login.php?action=register</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">method</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">post</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">mar-t-10</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">用户名（只能是英文、数字）</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">mar-t-10</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">user_login</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">user_login</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">input</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">size</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">35</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">tabindex</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">10</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">mar-t-10</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">邮</span><span style="color: Navy;">&amp;nbsp;&amp;nbsp;</span><span style="color: Gray;">箱（密码将通过email发送给您）</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">mar-t-10</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">user_email</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">user_email</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">input</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">size</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">35</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">tabindex</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">20</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">label</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">mar-t-10</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">submit</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">wp-submit</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">wp-submit</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">button-primary</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">注</span><span style="color: Navy;">&amp;nbsp;</span><span style="color: Red;">册</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">tabindex</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">100</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">form</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>关键点说明：<br />
wordpress注册的服务器端页面：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;"> </span><span style="color: Blue;">bloginfo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">url</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: Blue;">?&gt;</span><span style="color: Gray;">/wp-login.php?action=register</span></li></ol></div>
<p>注意表单内的输入框的name值请勿修改。</p>
<h4>4.添加样式</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">.ria</span><span style="color: Gray;">_</span><span style="color: Blue;">r</span><span style="color: Gray;">_</span><span style="color: Blue;">box</span><span style="color: Olive;">{</span><span style="color: Green;">background-color:</span><span style="color: #00008b;">#FFF</span><span style="color: Gray;">;</span><span style="color: Green;">padding:</span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.ria</span><span style="color: Gray;">_</span><span style="color: Blue;">r</span><span style="color: Gray;">_</span><span style="color: Blue;">box</span><span style="color: Gray;">_</span><span style="color: Blue;">header</span><span style="color: Olive;">{</span><span style="color: Green;">background-position:</span><span style="color: Red;">left</span><span style="color: Gray;"> -</span><span style="color: Maroon;">777</span><span style="color: Red;">px</span><span style="color: Gray;"> !important</span><span style="color: Gray;">;</span><span style="color: Green;">padding:</span><span style="color: Maroon;">6</span><span style="color: Red;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">font-size:</span><span style="color: Maroon;">14</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">font-weight:</span><span style="color: Red;">bold</span><span style="color: Gray;">;</span><span style="color: Green;">color:</span><span style="color: #00008b;">#333</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.mar-t-10</span><span style="color: Olive;">{</span><span style="color: Green;">margin-top:</span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li></ol></div>
<p>以上样式仅供参考，请自行修改。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3866/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>祝大家新春快乐！RIA之家假期停更</title>
		<link>http://www.36ria.com/3857</link>
		<comments>http://www.36ria.com/3857#comments</comments>
		<pubDate>Fri, 28 Jan 2011 02:57:59 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[作者日记]]></category>
		<category><![CDATA[明河日记]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3857</guid>
		<description><![CDATA[29号明河将打包回老家冬眠去了，忙碌了近三个月，得利用这个假期补充下睡眠，貌似今年还是我的本命年，古语有言：“本命年犯太岁，太岁当头坐，无喜必有祸”，据说要挂红&#8230;&#8230;.兔年出生的朋友今天要特别低调，O(∩_∩)O哈！假期RIA之家将停止更新，明河要到2月15日才会回来&#8230;&#8230; 假期归来后，明河将着手RIA之家的改版，一年来明河在重构方面积累了不少的经......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/2011.png" alt="" title="2011" width="640" height="200" class="alignleft size-full wp-image-3858" /><br />
29号明河将打包回老家冬眠去了，忙碌了近三个月，得利用这个假期补充下睡眠，貌似今年还是我的本命年，古语有言：“本命年犯太岁，太岁当头坐，无喜必有祸”，据说要挂红&#8230;&#8230;.兔年出生的朋友今天要特别低调，O(∩_∩)O哈！假期RIA之家将停止更新，明河要到2月15日才会回来&#8230;&#8230;<br />
假期归来后，明河将着手RIA之家的改版，一年来明河在重构方面积累了不少的经验，对前端有进一步的理解，将奉献给大家更好的RIA之家，先提前贴出新的RIA之家logo<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/36ria-logo.png" alt="" title="36ria-logo" width="311" height="106" class="alignleft size-full wp-image-3859" /><br />
<strong>新版RIA之家预计的更新如下：</strong></p>
<ul>
<li>1.使用html5</li>
<li>2.彻底不再支持IE6</li>
<li>3.优化简化布局（整体的色调和风格不会有大的变化）</li>
<li>4.更友好的文章评论</li>
<li>5.更易读的文章结构</li>
</ul>
<p>最后，祝有意、无意撞进RIA之家的朋友，新春快乐，兔年吉祥！<br />
（PS:踏踏实实的做一个优秀的前端博客，真的不容易，特别是在中国这样的环境，抄袭、山寨、作弊、浮躁，很多时候明河很沮丧，都想放弃，最后还是坚持下来了。没有太多为读者服务之类的冠冕堂皇的理由，只是因为在写博之间自己真的成长，认识很多的朋友，帮助了一部分人，我想真就够了，就值了。信一句古话“是金子总会发光”，有价值的东西，只要坚持，总会得到别人的认可。）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3857/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>前端中文原创推荐—山一程，水一程</title>
		<link>http://www.36ria.com/3854</link>
		<comments>http://www.36ria.com/3854#comments</comments>
		<pubDate>Thu, 27 Jan 2011 03:12:19 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端原创推荐]]></category>
		<category><![CDATA[前端]]></category>
		<category><![CDATA[前端中文原创推荐]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3854</guid>
		<description><![CDATA[1.jQuery1.5的改进细节 推荐指数： 文章摘要：想要了解jquery1.5底层改变的朋友不可错过，尤其是jQuery.Deferre，这个改进很有意思，回头明河去整个详细的说明。 2.facebook是如何管理代码的 推荐指数： 博客：无网不剩 文章摘要：非常好的一篇文章，严重推荐阅读，了解下facebook是如何管理代码的，当然facebook的管理方式在中国的绝大多数互联网公司是行不通的，“非死不可”，权......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/front-end.png" alt="" title="front-end" width="640" height="200" class="alignleft size-full wp-image-3855" /></p>
<h4>1.<a href="http://www.cnblogs.com/GrayZhang/archive/2011/01/18/jquery-1-5-enhanced-detail.html" target="_blank">jQuery1.5的改进细节</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
</ul>
<p><strong>文章摘要：</strong>想要了解jquery1.5底层改变的朋友不可错过，尤其是jQuery.Deferre，这个改进很有意思，回头明河去整个详细的说明。</p>
<h4>2.<a href="http://blog.leezhong.com/translate/2011/01/18/how-facebook-ships-code.html" target="_blank">facebook是如何管理代码的</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>博客：<a href="http://blog.leezhong.com/">无网不剩</a></li>
</ul>
<p><strong>文章摘要：</strong>非常好的一篇文章，严重推荐阅读，了解下facebook是如何管理代码的，当然facebook的管理方式在中国的绝大多数互联网公司是行不通的，“非死不可”，权当见闻&#8230;&#8230;</p>
<h4>3.<a href="http://www.y513.com/201012784.html" target="_blank">在服务端合并和压缩JavaScript和CSS文件</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：纸口杯</li>
<li>博客：<a href="http://www.y513.com/">纸口杯的博客</a></li>
</ul>
<h4>4.<a href="http://fis.io/ajax-google-custom-search-engine.html" target="_blank">打造完美的 ajax 版 Google 自定义搜索</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：fisio</li>
<li>博客：<a href="http://fis.io/">老肥的博客</a></li>
</ul>
<p><strong>文章摘要：</strong>关于如何使用google公开的ajax搜索接口，其实明河有做过相应介绍，请看《<a href="http://www.36ria.com/3388">kissy+ Google’s AJAX Search API实战ajax搜索</a>》。</p>
<h4>5.<a href="http://www.planabc.net/2010/11/26/range_insertnode/" target="_blank">模拟实现 Range 的 insertNode() 方法</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：怿飞</li>
<li>博客：<a href="http://www.planabc.net/">怿飞的博客</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3854/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>第十一天构建步骤条组件（1）—15天学会kissy</title>
		<link>http://www.36ria.com/3849</link>
		<comments>http://www.36ria.com/3849#comments</comments>
		<pubDate>Tue, 25 Jan 2011 05:42:58 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[kissy]]></category>
		<category><![CDATA[15天学会kissy]]></category>
		<category><![CDATA[kissy教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3849</guid>
		<description><![CDATA[余下几篇教程将基于kissy1.1.6而不是1.1.5。 kissy模块化思想说明 虽然明河不大喜欢讲理论，不过模块化对于日后使用kissy完成中大型的web应用而言非常重要，kissy模块化思想的核心是提供一种颗粒化、松耦合、易于扩展、可异步加载、明确依赖的js代码组织方式，现在不理解这句话没关系，在实际应用后，你将体会到kissy模块化思想的先进性。在kissy1.1.5后做了拆分，独立出了seed.j......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/kissy-day-11.png" alt="" title="kissy-day-11" width="640" height="200" class="alignleft size-full wp-image-3850" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/steps/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=205" title="名称：KISSY.Steps—步骤条组件，下载次数：253，文件大小：6.81 kB" class="btn-download">点此下载</a></li>
</ul>
<p>余下几篇教程将基于kissy1.1.6而不是1.1.5。</p>
<h4>kissy模块化思想说明</h4>
<p>虽然明河不大喜欢讲理论，不过模块化对于日后使用kissy完成中大型的web应用而言非常重要，kissy模块化思想的核心是提供一种颗粒化、松耦合、易于扩展、可异步加载、明确依赖的js代码组织方式，现在不理解这句话没关系，在实际应用后，你将体会到kissy模块化思想的先进性。在kissy1.1.5后做了拆分，独立出了seed.js文件，seed是KISSY的核心基础模块，定义了继承、命名空间、模块创建和使用等一系列方法。在《<a href="http://www.36ria.com/3185">第二天Hello World—15天学会kissy</a>》中提到过一些关键API的用法，比如KISSY.ready()、KISSY.use()。今天继续讲解模块方面的API。</p>
<h4>1.创建一个独立的模块文件</h4>
<p>比如是步骤条组件，创建一个steps.js，这不是必须的，你可以在一个js中包含多个模块，但明河极力推荐1个模块对应一个js文件，以便于管理，当然这样引出一个新的问题，如果模块很多，那么请求数过多了，所以发布的时候还是要使用ant或combo将模块文件合并成一个js，关于这一点，日后明河我继续深入探讨。</p>
<h4>2.创建一个新的模块到KISSY对象</h4>
<p>现在明河想为KISSY扩展一个步骤条组件，模块名叫steps(一般对应文件名，统一为小写),代码如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">KISSY</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">steps</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">S</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Olive;">})</span></li></ol></div>
<p>第一个参数为模块名，第二个参数为模块实现函数（S指的是KISSY）。</p>
<h4>3.明确模块依赖</h4>
<p>steps这个模块依赖于core(KISSY的核心模块包含DOM、Event、ajax等)，在KISSY.add()中传递第三个参数，代码如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">KISSY</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">steps</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">S</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">requires</span><span style="color: Gray;">: </span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">core</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> </span><span style="color: Olive;">})</span></li></ol></div>
<p><strong>requires</strong>为一个数组，存储所有该模块的依赖模块。kissy会自动检查模块依赖，然后会自动加载依赖模块。</p>
<h4>4.给模块加上jsdoc注释</h4>
<p>注释很重要，严重推荐使用jsdoc的注释格式，比如在模块文件头部加上如下注释：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;"> * @fileOverview 步骤条组件</span></li>
<li><span style="color: #ffa500;"> * @extends&nbsp; KISSY.Base</span></li>
<li><span style="color: #ffa500;"> * @creator 剑平（明河共影）&lt;</span><span style="color: Blue;">riahome@126.com</span><span style="color: #ffa500;">&gt;</span></li>
<li><span style="color: #ffa500;"> * @depends&nbsp; ks-core</span></li>
<li><span style="color: #ffa500;"> * @version 2.0</span></li>
<li><span style="color: #ffa500;"> * @update 2011-01-02</span></li>
<li><span style="color: #ffa500;"> * @example</span></li>
<li><span style="color: #ffa500;"> *&nbsp; &nbsp;&nbsp; var steps = new S.Steps(&quot;#steps-1&quot;);</span></li>
<li><span style="color: #ffa500;"> */</span></li></ol></div>
<p>有几个模块描述是必须的，fileOverview（文件用途）、creator或author（作者）、version（版本）。<br />
大家一定会觉得奇怪，为什么版本是2.0呢？steps这个组件，明河早在去年9月就有第一个版本了，那时候刚学kissy，是当kissy的练习来写了，代码写的很粗糙，所以在上周做了彻底的重构，代码和API跟原来的完全不同，所以升为2.0。</p>
<h4>5.创建一个组件对象</h4>
<p>在KISSY.add()的第二个参数function内，创建一个对象，代码如下：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">KISSY</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">steps</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">S</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">DOM</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">DOM</span><span style="color: Gray;">,</span><span style="color: Blue;">EMPTY</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">''</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; *&nbsp; 步骤条组件</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @class Steps</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @constructor</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @param {Object} container 表单容器</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @param {Object} config 配置对象</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Steps</span><span style="color: Olive;">(</span><span style="color: Blue;">container</span><span style="color: Gray;"> ,</span><span style="color: Blue;">config</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">Steps</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Gray;"> = </span><span style="color: Blue;">Steps</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">requires</span><span style="color: Gray;">: </span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">core</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Gray;"> = </span><span style="color: Blue;">Steps</span><span style="color: Gray;">;</span></li></ol></div>
<p>这个语句很关键，在外部是调用不到Steps这个对象的，我们需要将其赋值给KISSY这个命名空间，好让外部可以调用的到。<br />
至此，模块的壳差不多搭完了，当远不够完整，接着看。</p>
<h4>6.外部调用组件</h4>
<p>实例化组件非常简单:</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">steps</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#steps-1</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>7.Steps构造函数</h4>
<p>构造函数主要做以下几件事：</p>
<ul>
<li>参数、配置的处理</li>
<li>属性的定义</li>
<li>调用初始化函数</li>
</ul>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">KISSY</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">steps</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">S</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">DOM</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">DOM</span><span style="color: Gray;">,</span><span style="color: Blue;">EMPTY</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">''</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; *&nbsp; 步骤条组件</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @class Steps</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @constructor</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @param {Object} container 表单容器</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; * @param {Object} config 配置对象</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Steps</span><span style="color: Olive;">(</span><span style="color: Blue;">container</span><span style="color: Gray;"> ,</span><span style="color: Blue;">config</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">self</span><span style="color: Gray;"> = </span><span style="color: Green;">this</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Olive;">(</span><span style="color: Blue;">self</span><span style="color: Gray;"> </span><span style="color: Green;">instanceof</span><span style="color: Gray;"> </span><span style="color: Blue;">Steps</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Steps</span><span style="color: Olive;">(</span><span style="color: Blue;">config</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * 目标容器</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * @type HTMLElement</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">self</span><span style="color: Gray;">.</span><span style="color: Blue;">container</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">container</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//初始化</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">self</span><span style="color: Gray;">.</span><span style="color: Blue;">_init</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">Steps</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * 初始化</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">_init</span><span style="color: Gray;"> : </span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">Steps</span><span style="color: Gray;"> = </span><span style="color: Blue;">Steps</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">requires</span><span style="color: Gray;">: </span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">core</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Olive;">(</span><span style="color: Blue;">self</span><span style="color: Gray;"> </span><span style="color: Green;">instanceof</span><span style="color: Gray;"> </span><span style="color: Blue;">Steps</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Steps</span><span style="color: Olive;">(</span><span style="color: Blue;">config</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>我想很多朋友，会对这段代码有疑问。这段代码的作用在于，倘若用户不是通过new实例化的组件的，那么this这个关键字是不会指向Steps对象的，为了防止这种情况出现，在构造函数内部做个判断，确保实例化Steps。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * 目标容器</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * @type HTMLElement</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">self</span><span style="color: Gray;">.</span><span style="color: Blue;">container</span><span style="color: Gray;"> = </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">container</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>设置目标对象，可能使用target作为属性会更准确些，为了保持和KISSY官方组件的统一，这里依旧沿用container。明河喜欢把属性的定义统一放在构造函数，便于管理。<br />
<strong>_init</strong>这个初始化函数，也是为了保持和KISSY官方组件的统一，使用_init函数名，哈在Steps这个对象内啥事没干，真正干活的是<strong>render</strong>函数，之后我会讲到为什么不将组件初始化代码写在_init中，有些场合的确不适用一实例化类就初始化一堆的逻辑。<br />
这里做了个约定：私有方法和私有属性加“_”前缀。</p>
<h4>8.明河结语</h4>
<p>参数的处理以及继承，留待下一篇教程讲解。下一篇教程有个很重要的内容：为什么让组件继承<strong>KISSY.Base</strong>。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3849/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>步骤条组件原理说明—15天学会kissy</title>
		<link>http://www.36ria.com/3841</link>
		<comments>http://www.36ria.com/3841#comments</comments>
		<pubDate>Mon, 24 Jan 2011 12:18:44 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[kissy]]></category>
		<category><![CDATA[15天学会kissy]]></category>
		<category><![CDATA[kissy教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3841</guid>
		<description><![CDATA[接下来的五篇教程是个实战系列，主要是演练的是kissy组件（模块）制作过程，明河一向不喜欢说玄乎玄乎的理论，所以还是以一个自己写的步骤条组件为例，效果如下图： 步骤条常见于电子商务网站的下单页面以及用户注册页面。步骤条通用组件很少，原因还是在大部分的步骤条使用背景图片，无法满足所有站点的配色、尺寸要求，这是明河写这个组件的目的，不通过任何......]]></description>
			<content:encoded><![CDATA[<p>接下来的五篇教程是个实战系列，主要是演练的是kissy组件（模块）制作过程，明河一向不喜欢说玄乎玄乎的理论，所以还是以一个自己写的步骤条组件为例，效果如下图：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/steps.png" alt="" title="steps" width="640" height="137" class="alignleft size-full wp-image-3842" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/steps/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=205" title="名称：KISSY.Steps—步骤条组件，下载次数：253，文件大小：6.81 kB" class="btn-download">点此下载</a></li>
</ul>
<p>步骤条常见于电子商务网站的下单页面以及用户注册页面。步骤条通用组件很少，原因还是在大部分的步骤条使用背景图片，无法满足所有站点的配色、尺寸要求，这是明河写这个组件的目的，不通过任何背景图片产生适用于大部分站点的步骤条。那么该步骤条组件应该满足以下需求。</p>
<ul>
<li>1.可以快速产生步骤条，只需提供一个ol的列表数据结构；</li>
<li>2.有多种配色方案</li>
<li>3.可以控制激活的步骤</li>
<li>4.可以自定义单步骤尺寸</li>
</ul>
<p>以上就是明河制作的这款组件的特性，我将其命名为<strong>Steps</strong>。组件不复杂，但在真正讲述组件构建过程前，很有必要，说明下组件的原理。<br />
步骤条的生成，难点在于箭头的生成，即使用css来生成箭头（指向是右），关于如何使用css来生成箭头，明河曾发过系列教程《jquery插件实战教程》里面有一篇教程已经提到，猛击这里进入《<a href="http://www.36ria.com/2776">Colortip难点解析—jquery插件实战教程（3）</a>》，这篇文章明河讲解了如何使用css创建各个方向的气泡箭头。<br />
<img alt="" src="http://www.36ria.com/wp-content/uploads/2010/07/colortips3.png" class="alignnone" width="389" height="81" /><br />
css的箭头生成过程，明河有做了完整的demo，猛击《<a href="http://www.36ria.com/demo/triangle/">利用css中的border生成三角，兼容包括IE6的主流浏览器</a>》。<br />
css生成箭头这个技巧非常好用，强烈建议掌握，如果你看了demo还有疑问继续看以下三篇文章。</p>
<ul>
<li><a href="http://www.zhangxinxu.com/wordpress/?p=794">CSS border三角、圆角图形生成技术简介</a></li>
<li><a href="http://www.zhangxinxu.com/wordpress/?p=651">纯CSS实现各类气球泡泡对话框效果</a></li>
<li><a href="http://blog.silentash.com/2009/12/ie6-border-transparent/">Dotted&#038;Dashed终极分析及IE6透明边框</a></li>
</ul>
<h2>步骤条箭头的代码</h2>
<h4>1.html结构</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/steps-2.png" alt="" title="steps-2" width="396" height="119" class="alignleft size-full wp-image-3844" /><br />
js会向每个li添加一个div(箭头容器)，这个div包含二个span（二个箭头），样式名为“bor“的span输出的白色背景的箭头（通过与另外一个颜色的箭头叠加产生白色边框效果），样式名为”blo”的span为带颜色的箭头。叠加产生的效果既是<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/steps-3.png" alt="" title="steps-3" width="24" height="24" class="alignleft size-full wp-image-3845" /><br />
上图明河截多了，实际宽度请用firebug查看。</p>
<h4>2.css代码</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">/</span><span style="color: Blue;">*</span><span style="color: Gray;">-----箭头样式-----</span><span style="color: Blue;">*</span><span style="color: Gray;">/</span></li>
<li><span style="color: Blue;">.ks-steps</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Blue;">.trigon</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span><span style="color: Green;">top:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">right:</span><span style="color: Gray;">-</span><span style="color: Maroon;">14</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">z-index:</span><span style="color: Maroon;">200</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Maroon;">14</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">height:</span><span style="color: Maroon;">24</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">overflow:</span><span style="color: Red;">hidden</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">padding:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">background-color:</span><span style="color: Red;">transparent</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">z-index:</span><span style="color: Maroon;">200</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.ks-steps</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Blue;">.trigon</span><span style="color: Gray;"> </span><span style="color: Blue;">span</span><span style="color: Olive;">{</span><span style="color: Green;">width:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">; </span><span style="color: Green;">height:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">line-height:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;"> !important</span><span style="color: Gray;">;</span><span style="color: Green;">padding:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.ks-steps</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Blue;">.trigon</span><span style="color: Gray;"> </span><span style="color: Blue;">.blo</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span><span style="color: Green;">left:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">top:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border:</span><span style="color: Maroon;">12</span><span style="color: Red;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">solid</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border-color:</span><span style="color: Red;">transparent</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">transparent</span><span style="color: Gray;"> </span><span style="color: Red;">transparent</span><span style="color: Gray;"> </span><span style="color: #00008b;">#E4E4E4</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border-style:</span><span style="color: Red;">dashed</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">dashed</span><span style="color: Gray;"> </span><span style="color: Red;">dashed</span><span style="color: Gray;"> </span><span style="color: Red;">solid</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.ks-steps</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Blue;">.trigon</span><span style="color: Gray;"> </span><span style="color: Blue;">.bor</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span><span style="color: Green;">left:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">top:</span><span style="color: Gray;">-</span><span style="color: Maroon;">2</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border:</span><span style="color: Maroon;">14</span><span style="color: Red;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">solid</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border-color:</span><span style="color: Red;">transparent</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">transparent</span><span style="color: Gray;"> </span><span style="color: Red;">transparent</span><span style="color: Gray;"> </span><span style="color: #00008b;">#FFF</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border-style:</span><span style="color: Red;">dashed</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">dashed</span><span style="color: Gray;"> </span><span style="color: Red;">dashed</span><span style="color: Gray;"> </span><span style="color: Red;">solid</span><span style="color: Gray;">;&nbsp; &nbsp; </span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>留意边框的设置！二个span为绝对定位，宽度和高度必须为0，然后设置边框宽度，产生等腰三角形，具体原理请看明河贴出的几篇文章。</p>
<h4>3.明河结语</h4>
<p>下面几篇教程，明河将开始一步一步讲解，整个组件（模块）的构建过程，kissy的可扩展性真的不错，kissy目前已经有部分相当优秀的官方组件，比如<a href="http://docs.kissyui.com/kissy/docs/switchable/index.html">switchable</a>（轮换）、<a href="http://docs.kissyui.com/kissy/docs/suggest/index.html">suggest</a>（自动提示框）、<a href="http://docs.kissyui.com/kissy/docs/imagezoom/index.html">imagezoom</a>（图片放大镜）等，可以先看看这些组件的调用过程。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3841/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>使用jquery+css3制作旋转效果的幻灯片</title>
		<link>http://www.36ria.com/3835</link>
		<comments>http://www.36ria.com/3835#comments</comments>
		<pubDate>Sat, 22 Jan 2011 06:33:10 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[css3教程]]></category>
		<category><![CDATA[jquery幻灯片]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3835</guid>
		<description><![CDATA[这是tutorialzine上的一篇实战性颇强的教程，明河将其翻译过来，献给各位对css3敢兴趣的朋友。 这篇教程主要演示的是css3的旋转特性，由于浏览器间还是存在差异的，引入了jquery.rotate.js，姑且忽略IE。同时演示了jquery自定义事件的使用。 1.创建一个幻灯片html结构 &#60;div id=&#34;slideShowContainer&#34;&#62; &#160; &#160; &#160; &#160; &#60;div&#160;id=&#34;slideShow&#34;&#62; &#160; &#160; &#160; &#160; &#160; &......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/rotating-slideshow.png" alt="" title="rotating-slideshow" width="640" height="200" class="alignleft size-full wp-image-3836" /><br />
这是<a href="http://tutorialzine.com/2010/11/rotating-slideshow-jquery-css3/">tutorialzine</a>上的一篇实战性颇强的教程，明河将其翻译过来，献给各位对css3敢兴趣的朋友。<br />
这篇教程主要演示的是css3的旋转特性，由于浏览器间还是存在差异的，引入了<strong>jquery.rotate.js</strong>，姑且忽略IE。同时演示了jquery自定义事件的使用。</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/rotating-slideshow/" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=204" title="名称：rotating-slideshow，下载次数：144，文件大小：405.19 kB" class="btn-download">点此下载</a></li>
</ul>
<h4>1.创建一个幻灯片html结构</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">slideShowContainer</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">slideShow</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img/photos/1.jpg</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">width</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">100%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Fish</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img/photos/2.jpg</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">width</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">100%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Ancient</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img/photos/3.jpg</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">width</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">100%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Industry</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img/photos/4.jpg</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">width</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">100%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">alt</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Rain</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">previousLink</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Navy;">&amp;raquo;</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">nextLink</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Navy;">&amp;laquo;</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/slideshow_markup.jpg" alt="" title="slideshow_markup" width="620" height="400" class="alignleft size-full wp-image-3837" /><br />
#slideShowContainer容器内的元素全部为绝对定位，这是由交互特点决定的，采用其他定位方式还真不好处理，绝对定位有个问题就是要处理好z-index，尤其是图片容器间的z-index，默认是后面的遮住前面的，但我们需要脚本修正为前面遮住后面的。</p>
<h4>2.关键css代码</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">#slideShow</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">height:</span><span style="color: Maroon;">490</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Maroon;">490</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background-color:</span><span style="color: #00008b;">#fff</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">margin:</span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">z-index:</span><span style="color: Maroon;">100</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-box-shadow:</span><span style="color: Maroon;">0</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#111</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">webkit-box-shadow:</span><span style="color: Maroon;">0</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#111</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">box-shadow:</span><span style="color: Maroon;">0</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;"> </span><span style="color: Maroon;">10</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: #00008b;">#111</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">#slideShow</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">ul</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">top:</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">right:</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">bottom:</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">left:</span><span style="color: Maroon;">15</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">list-style:</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">overflow:</span><span style="color: Red;">hidden</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">#slideShow</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">li</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">top:</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">left:</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Maroon;">100</span><span style="color: Red;">%</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">height:</span><span style="color: Maroon;">100</span><span style="color: Red;">%</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">#slideShowContainer</span><span style="color: Gray;"> &gt; </span><span style="color: Blue;">a</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">border:</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">text-decoration:</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">text-indent:</span><span style="color: Gray;">-</span><span style="color: Maroon;">99999</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">overflow:</span><span style="color: Red;">hidden</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Maroon;">36</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">height:</span><span style="color: Maroon;">37</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background:</span><span style="color: Gray;">url('../img/arrows.png') </span><span style="color: Red;">no-repeat</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">top:</span><span style="color: Maroon;">50</span><span style="color: Red;">%</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">margin-top:</span><span style="color: Gray;">-</span><span style="color: Maroon;">21</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>#slideShow这个层很关键，所有的交互都基于这个层。</p>
<h4>3.js脚本（已加中文注释）</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">ready</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//幻灯片</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">slideShow</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#slideShow</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">ul</span><span style="color: Gray;"> = </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">ul</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//幻灯片的图片容器</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">li</span><span style="color: Gray;"> = </span><span style="color: Blue;">ul</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//图片个数</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cnt</span><span style="color: Gray;"> = </span><span style="color: Blue;">li</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//设置每个图片容器（li）的z-index，递减（采用绝对定位，保证越前面的z-index应该越高）</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">updateZindex</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">$.</span><span style="color: Blue;">support</span><span style="color: Gray;">.</span><span style="color: Blue;">transform</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//css3旋转</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">li</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">img</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotate</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// 逆时针旋转</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">-</span><span style="color: Maroon;">90</span><span style="color: Gray;">*</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">deg</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//绑定一个自定义事件（参数：方向、角度）</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotateContainer</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Gray;">,</span><span style="color: Blue;">direction</span><span style="color: Gray;">,</span><span style="color: Blue;">degrees</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//扩大幻灯片容器</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">width</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : </span><span style="color: Maroon;">510</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">height</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : </span><span style="color: Maroon;">510</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">marginTop</span><span style="color: Gray;">&nbsp; &nbsp; : </span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">marginLeft</span><span style="color: Gray;">&nbsp; &nbsp; : </span><span style="color: Maroon;">0</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">fast</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//下一张</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">direction</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">next</span><span style="color: #8b0000;">'</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//渐隐第一张图片，并将这张图片添加到最后，同时更新所有li的z-index</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li:first</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeOut</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">slow</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">remove</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">appendTo</span><span style="color: Olive;">(</span><span style="color: Blue;">ul</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">show</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">updateZindex</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//上一张</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">else</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//隐藏最后一张图片，移动这张图片到第一个位置，更新li的z-index，最后渐现该图片</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">liLast</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li:last</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">hide</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">remove</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">prependTo</span><span style="color: Olive;">(</span><span style="color: Blue;">ul</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">updateZindex</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">liLast</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeIn</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">slow</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//旋转动画（使用jquery.rotate.js来解决浏览器之间的差异）</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">rotate</span><span style="color: Gray;">:</span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">round</span><span style="color: Olive;">(</span><span style="color: Gray;">$.</span><span style="color: Blue;">rotate</span><span style="color: Gray;">.</span><span style="color: Blue;">radToDeg</span><span style="color: Olive;">(</span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotate</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">+</span><span style="color: Blue;">degrees</span><span style="color: Olive;">)</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">deg</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">slow</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">width</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : </span><span style="color: Maroon;">490</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">height</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : </span><span style="color: Maroon;">490</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">marginTop</span><span style="color: Gray;">&nbsp; &nbsp; : </span><span style="color: Maroon;">10</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">marginLeft</span><span style="color: Gray;">&nbsp; &nbsp; : </span><span style="color: Maroon;">10</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">fast</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//绑定二个自定义事件（下一张、上一张）</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">showNext</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//二个参数：方向、角度</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">trigger</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotateContainer</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">next</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Maroon;">90</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">showPrevious</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">trigger</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotateContainer</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">previous</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,-</span><span style="color: Maroon;">90</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">else</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// IE9以下浏览器，不支持旋转属性，去掉旋转效果</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">showNext</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li:first</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeOut</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">slow</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">remove</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">appendTo</span><span style="color: Olive;">(</span><span style="color: Blue;">ul</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">show</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">updateZindex</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">showPrevious</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">liLast</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li:last</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">hide</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">remove</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">prependTo</span><span style="color: Olive;">(</span><span style="color: Blue;">ul</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">updateZindex</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">liLast</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeIn</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">slow</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//点击上一个箭头</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#previousLink</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">click</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//运动未结束，直接返回</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">is</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">:animated</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//触发自定义事件showPrevious，切换到上一张图片</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">trigger</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">showPrevious</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//点击下一个箭头</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#nextLink</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">click</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//运动未结束，直接返回</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">is</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">:animated</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//触发自定义事件showNext，切换到下一张图片</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">trigger</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">showNext</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">false</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//更新li的z-index</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">updateZindex</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//遍历li，让z-index递减</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">ul</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">z-index</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">cnt</span><span style="color: Gray;">-</span><span style="color: Blue;">i</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>3.1更新图片容器li的z-index</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//更新li的z-index</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">updateZindex</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//遍历li，让z-index递减</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">ul</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">z-index</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">cnt</span><span style="color: Gray;">-</span><span style="color: Blue;">i</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>这是很关键的处理步骤，在每次改变图片时都要触发一次。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/rotating-slideshow-3.png" alt="" title="rotating-slideshow-3" width="215" height="149" class="alignleft size-full wp-image-3839" /></p>
<h5>3.2初始默认设置图片的旋转角度的理由</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//css3旋转</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">li</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">img</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotate</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// 逆时针旋转</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Gray;">-</span><span style="color: Maroon;">90</span><span style="color: Gray;">*</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">deg</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>外层容器#slideShow旋转了90度，里面的图片自然也跟着旋转了90度，那么最终显示的图片角度是错误的。所以我们需要一个方案，不管容器如何旋转，图片显示时角度都是正确的。所以这里给每个图片加上了旋转。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/rotating-slideshow-2.png" alt="" title="rotating-slideshow-2" width="607" height="218" class="alignleft size-full wp-image-3838" /></p>
<h5>3.3jquery自定义事件的使用</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">showPrevious</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">trigger</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotateContainer</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">previous</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,-</span><span style="color: Maroon;">90</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>jquery自定义事件很重要，希望朋友们对看下相关教程。这里强烈推荐下《jquery cookbook》，关于jquery事件有非常详细的说明，英文版网上可以载的到。</p>
<h5>3.4jquery.rotate插件的使用</h5>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">rotate</span><span style="color: Gray;">:</span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">round</span><span style="color: Olive;">(</span><span style="color: Gray;">$.</span><span style="color: Blue;">rotate</span><span style="color: Gray;">.</span><span style="color: Blue;">radToDeg</span><span style="color: Olive;">(</span><span style="color: Blue;">slideShow</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">rotate</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">+</span><span style="color: Blue;">degrees</span><span style="color: Olive;">)</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">deg</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">slow</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">width</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : </span><span style="color: Maroon;">490</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">height</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : </span><span style="color: Maroon;">490</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">marginTop</span><span style="color: Gray;">&nbsp; &nbsp; : </span><span style="color: Maroon;">10</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">marginLeft</span><span style="color: Gray;">&nbsp; &nbsp; : </span><span style="color: Maroon;">10</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">fast</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>上述代码，不止是旋转了容器，同时还改变了容器尺寸（恢复原来容器大小）。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3835/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Picture Menu — 华丽的jquery滑动幻灯片插件</title>
		<link>http://www.36ria.com/3829</link>
		<comments>http://www.36ria.com/3829#comments</comments>
		<pubDate>Wed, 19 Jan 2011 11:46:27 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery插件]]></category>
		<category><![CDATA[jquery幻灯片插件]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3829</guid>
		<description><![CDATA[明河上次推荐jquery插件，还要追溯到2010年9月了&#8230;&#8230;现在基本上已经不写jquery代码了，但对jquery还有不可割舍的感情，会继续更新jquery的相关教程。今天给大家介绍一款相当不错的jquery滑动幻灯片插件：Picture Menu。滑动效果，明河也曾经完成过，有兴趣的朋友可以猛击《divSlider — jquery滑动门插件（明河作品）》，必须承认Picture Menu的功能比明河写的divSlider来的强，也更......]]></description>
			<content:encoded><![CDATA[<p>明河上次推荐jquery插件，还要追溯到2010年9月了&#8230;&#8230;现在基本上已经不写jquery代码了，但对jquery还有不可割舍的感情，会继续更新jquery的相关教程。今天给大家介绍一款相当不错的jquery滑动幻灯片插件：<strong>Picture Menu</strong>。滑动效果，明河也曾经完成过，有兴趣的朋友可以猛击《<a href="http://www.36ria.com/2012">divSlider — jquery滑动门插件（明河作品）</a>》，必须承认Picture Menu的功能比明河写的divSlider来的强，也更加好用。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/Picture-Menu.png" alt="" title="Picture Menu" width="640" height="122" class="alignleft size-full wp-image-3830" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://isenne.com/jQuery/pictureMenu/pictureMenu.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://isenne.com/jQuery/pictureMenu/pictureMenu-1.1.0.rar" title="pictureMenu-1.1" class="btn-download"></a></li>
</ul>
<p>这里明河以最复杂的demo5为例讲解下其API。</p>
<h4>1.建立幻灯片html结构</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">MainMenu5</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img/menu-1.png</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img/text-1.png</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">ul</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">submenu light</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Submenu 1.1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Submenu 1.2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Submenu 1.3</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Submenu 1.4</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Submenu 1.5</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">a</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Submenu 1.6</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ......</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h4>2.初始化pictureMenu</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">.MainMenu5</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">pictureMenu</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">menuHeight</span><span style="color: Gray;">: </span><span style="color: Maroon;">200</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">animateTime</span><span style="color: Gray;">: </span><span style="color: Maroon;">600</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">menuInactiveHide</span><span style="color: Gray;">: </span><span style="color: Maroon;">0.2</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">menuWidthHover</span><span style="color: Gray;">: </span><span style="color: Maroon;">75</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">menuAutoOpen</span><span style="color: Gray;">: </span><span style="color: Maroon;">3</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">leaveActiveOpen</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">leaveActiveOpenCookie</span><span style="color: Gray;">: </span><span style="color: Green;">true</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h4>3.API说明</h4>
<table border="0" cellspacing="0" cellpadding="0" class="tab1">
<thead>
<tr>
<td width="127"><strong>参数</strong></td>
<td width="108"><strong>默认值</strong></td>
<td width="84"><strong>类型</strong></td>
<td width="249"><strong>描述</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top"><strong>animateTime</strong></td>
<td valign="top">350</td>
<td valign="top">Number</td>
<td valign="top">动画时间（动画速度）</p>
</td>
</tr>
<tr>
<td valign="top"><strong> menuHeight </strong></td>
<td valign="top">150</td>
<td valign="top">Number</td>
<td valign="top">图片列表容器高度</td>
</tr>
<tr>
<td valign="top"><strong>menuWidth</strong></td>
<td valign="top">75</td>
<td valign="top">Number</td>
<td valign="top">单个图片默认显示宽度（不是指容器宽度），当为空时自适应，需要设置<strong>useMenuWidth</strong>为true</td>
</tr>
<tr>
<td valign="top"><strong> useMenuWidth </strong></td>
<td valign="top">true </td>
<td valign="top">Boolean</td>
<td valign="top">允许自定义单个图片显示宽度</td>
</tr>
<tr>
<td valign="top"><strong> menuWidthHover </strong></td>
<td valign="top"> 40</td>
<td valign="top">Number</td>
<td valign="top">非激活图片的宽度</td>
</tr>
<tr>
<td valign="top"><strong> menuActiveWidth </strong></td>
<td valign="top"> 500</td>
<td valign="top">Number</td>
<td valign="top">激活图片的宽度，需要设置<strong>useMenuActiveWidth</strong>为true时才有效</td>
</tr>
<tr>
<td valign="top"><strong> useMenuActiveWidth </strong></td>
<td valign="top"> false</td>
<td valign="top">Boolean</td>
<td valign="top">是否允许自定义激活图片显示宽度</td>
</tr>
<tr>
<td valign="top"><strong> menuInactiveHide </strong></td>
<td valign="top"> 1</td>
<td valign="top">Number</td>
<td valign="top">激活图片的透明度</td>
</tr>
<tr>
<td valign="top"><strong> menuBorder </strong></td>
<td valign="top"> 2</td>
<td valign="top">Number</td>
<td valign="top">二个图片之间的间隔</td>
</tr>
<tr>
<td valign="top"><strong> menuAutoOpen</strong></td>
<td valign="top"> 0 </td>
<td valign="top">Number</td>
<td valign="top">默认激活第几个图片，必须设置<strong>leaveActiveOpen</strong>为true</td>
</tr>
<tr>
<td valign="top"><strong> leaveActiveOpen</strong></td>
<td valign="top"> false </td>
<td valign="top">Boolean</td>
<td valign="top">是否6允许设置默认激活</td>
</tr>
<tr>
<td valign="top"><strong> leaveActiveOpenCookie</strong></td>
<td valign="top"> false </td>
<td valign="top">Boolean</td>
<td valign="top">cookie记录最后激活图片</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3829/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>前端快讯：jQuery 1.5 Beta降临！正式版不远矣</title>
		<link>http://www.36ria.com/3825</link>
		<comments>http://www.36ria.com/3825#comments</comments>
		<pubDate>Tue, 18 Jan 2011 03:16:37 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery 1.5]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3825</guid>
		<description><![CDATA[1月14日是jQuery的诞生日，jquery出道5年，以其易读、近人类逻辑的编程风格迅速成为javascript框架的霸主，必须向jquery的作者John Resig致敬，感谢他，创造了如此优秀的javascript框架。从1.4.4到1.5，从版本的跳跃就可以看出这次的更新内容非常有料！接下来明河为你一一介绍。 1.5的CDN地址：http://code.jquery.com/jquery-1.5b1.js。（非压缩版） jQuery 1.5 Beta的更新内容 1.5的最大更新：支持子......]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3826" title="jquery1.5" src="http://www.36ria.com/wp-content/uploads/2011/01/jquery1.5.png" alt="" width="640" height="200" /><br />
1月14日是jQuery的诞生日，jquery出道5年，以其易读、近人类逻辑的编程风格迅速成为javascript框架的霸主，必须向jquery的作者<strong>John Resig</strong>致敬，感谢他，创造了如此优秀的javascript框架。从1.4.4到1.5，从版本的跳跃就可以看出这次的更新内容非常有料！接下来明河为你一一介绍。<br />
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=203" title="名称：jQuery 1.5 Beta，下载次数：99，文件大小：57.16 kB" class="btn-download">点此下载</a><br />
1.5的CDN地址：<a href="http://code.jquery.com/jquery-1.5b1.js">http://code.jquery.com/jquery-1.5b1.js</a>。（非压缩版）</p>
<h2>jQuery 1.5 Beta的更新内容</h2>
<h4>1.5的最大更新：支持子类，jquery的继承终于来了！</h4>
<p>官方的更新日记，将ajax模块重写排在第一位，明河倒是觉得支持继承，这才是jQuery 1.5最大的更新！这个功能明河期盼了很久，算是千呼万唤始出来吧。jquery之所以不适合大型复杂的web开发的一个原因就是继承机制的缺失，你写3-4个jquery插件，就会发现，代码重复率很高（插件与插件间很难继承），代码组织上有点力不从心的感觉，到现在明河甚至很少写jquery代码了。jquery的这个更新非常及时，赞一个。<br />
更详细的使用方法，明河会在日后的教程中放出。其实现在我也不知道该如何调用&#8230;..O(∩_∩)O哈！</p>
<h4>1.5的最人性化更新：ajax模块变了！</h4>
<p>1.需要留意jQuery.ajax()这个函数变了！（可以放心的是依旧兼容旧的调用方式），旧的ajax请求url是写在参数{}内的，比如<strong>jQuery.ajax({url:”36ria.com”})</strong>，现在改了，<strong>jQuery.ajax(&#8217;36ria.com&#8217;,{success:function(){}});</strong>，这是接口的明显变化，其实内部逻辑实现变化也是很大的，详见1.5源代码（留意jXHR这个类）。<br />
2.每个请求类型都支持设置超时时间和中止，还有个变化是在简化的jQuery.ajax()的API中，比如<strong>jQuery.getJson()</strong>，回调函数不必写在()参数内，你可以使用链式调用的方式在后面追加回调函数，比如<strong>jQuery.getJson().success(function(){})</strong>，（jquery有个很不好的地方，回调函数太多了，容易造成阅读困难，可以看出jquery小组在试图改变这一问题。）<br />
3.以数组的方式来传递ajax的成功、失败、完成等回调函数，关于这一点，信息量太少，明河无法臆断其具体使用过程，等如后测试后奉上相关内容。</p>
<h4>明河结语</h4>
<p>关于jQuery 1.5 Beta的简单介绍到此结束，jQuery 1.5 Beta还有其他方面的更新，由于是比较细节的内容，明河就不再说明，有兴趣的朋友，请看<a href="http://blog.jquery.com/2011/01/14/jquery-1-5-beta-1-released/">官方的更新日记</a>。日后会有相关教程放出，期待1.5正式版！（这个版本只建议用于学习）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3825/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>前端中文原创推荐—自在飞花轻似梦</title>
		<link>http://www.36ria.com/3820</link>
		<comments>http://www.36ria.com/3820#comments</comments>
		<pubDate>Fri, 14 Jan 2011 04:19:53 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端原创推荐]]></category>
		<category><![CDATA[前端]]></category>
		<category><![CDATA[前端中文原创推荐]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3820</guid>
		<description><![CDATA[1.淘宝2011新版首页开发实践 推荐指数： 作者：拔赤 博客：TOABAO-UED 文章摘要：文章中的幻灯片必看！包含了2011年淘宝首页改版的心得体会。2011年新版淘宝首页，是国内HTML5的重大实践，事实证明html5不止是好看，而且还是好用。 2.用js计算三次贝塞尔曲线 推荐指数： 作者：天祁 博客：hello,JavaScript 文章摘要：贝塞尔曲 线，是曲线绘制的基石，天祁这篇文章，虽然目前没太大......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/fe.png" alt="" title="fe" width="640" height="200" class="alignleft size-full wp-image-3821" /></p>
<h4>1.<a href="http://ued.taobao.com/blog/2011/01/11/dev-share-for-taobao-new-homepage/" target="_blank">淘宝2011新版首页开发实践</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：拔赤</li>
<li>博客：<a href="http://ued.taobao.com/blog/">TOABAO-UED</a></li>
</ul>
<p><strong>文章摘要：</strong>文章中的幻灯片必看！包含了2011年淘宝首页改版的心得体会。2011年新版淘宝首页，是国内HTML5的重大实践，事实证明html5不止是好看，而且还是好用。</p>
<h4>2.<a href="http://www.html-js.com/?p=1031" target="_blank">用js计算三次贝塞尔曲线</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：天祁</li>
<li>博客：<a href="http://www.html-js.com/">hello,JavaScript</a></li>
</ul>
<p><strong>文章摘要：</strong>贝塞尔曲<br />
线，是曲线绘制的基石，天祁这篇文章，虽然目前没太大意义，但html5普及后，尤其是cancas普及后，会派上大用场。</p>
<h4>3.<a href="http://www.mytcer.com/847" target="_blank">ES-262-3学习笔记：new操作符的工作原理</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：哈哈小老虎</li>
<li>博客：<a href="http://www.mytcer.com/">哈哈小老虎&#8217;s Blog</a></li>
</ul>
<p><strong>文章摘要：</strong>严重推荐收藏这篇文章，好文！想了解new工作原理的朋友不可错过。</p>
<h4>4.<a href="http://www.iamued.com/interaction/1813.html" target="_blank">原型设计软件Axure6：含汉化包+新增功能介绍</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：刘刚</li>
<li>博客：<a href="http://www.iamued.com/">刘刚&#8217;s Blog</a></li>
</ul>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/131639d53.jpg" alt="" title="131639d53" width="588" height="292" class="alignleft size-full wp-image-3822" /><br />
<strong>文章摘要：</strong>Axure6是web原型设计的神器，虽然跟前端关系不是很密切，但实际上交互设计离不开Axure。</p>
<h4>5.<a href="http://www.qianduan.net/local-storage-of-html5.html" target="_blank">HTML5本地存储初探</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：Robin</li>
<li>博客：<a href="http://www.qianduan.net/">前端观察</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3820/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>wp-share-list更新至1.6.1.2</title>
		<link>http://www.36ria.com/3815</link>
		<comments>http://www.36ria.com/3815#comments</comments>
		<pubDate>Thu, 13 Jan 2011 01:28:10 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[wordpress插件]]></category>
		<category><![CDATA[wordpress分享插件]]></category>
		<category><![CDATA[wp-share-list]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3815</guid>
		<description><![CDATA[这次的更新，主要是针对1.6.1发布后出现的一个比较严重的bug：当不勾选配置页面的“引入插件的jquery1.4.2库”，就无法初始化插件的问题。而有些用户有引入其他插件不是基于jquery.1.4.2的，如果引入wp-share-list的jquery，就会导致冲突！报错或其他插件比如灯箱、评论插件无法使用！ 明河先对遇到上述问题的朋友，道个歉，这个bug是由于明河敲代码时的一时疏忽导致的bug！T_T！ ......]]></description>
			<content:encoded><![CDATA[<p>这次的更新，主要是针对1.6.1发布后出现的一个比较严重的bug：当不勾选配置页面的“引入插件的jquery1.4.2库”，就无法初始化插件的问题。而有些用户有引入其他插件不是基于jquery.1.4.2的，如果引入wp-share-list的jquery，就会导致冲突！报错或其他插件比如灯箱、评论插件无法使用！<br />
明河先对遇到上述问题的朋友，道个歉，这个bug是由于明河敲代码时的一时疏忽导致的bug！T_T！<br />
特别特别感谢<strong>飞龙在天</strong>朋友细心的排查！<strong>飞龙在天</strong>还给明河发了修正版本，哈，再次表示感谢。<br />
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=176" title="名称：wp-share-list，下载次数：1560，文件大小：330.34 kB" class="btn-download">点此下载</a></p>
<h4>补充QA：为什么升级到1.6.1后不勾选“引入插件的jquery1.4.2库”，插件无法加载？为什么与其他插件存在冲突？</h4>
<p>这个bug是由明河的疏忽导致的，原因可以看下面<strong>飞龙在天</strong>发的脚本。<br />
正确的版本</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//关于wp-share-list 1.6.1这个问题，修改文件 wp-share-list\include\ShareList.php 的第46行函数addJs里的一段逻辑为下面这样就好了，括号位置括错了：）</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//修正好的版本</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//输出jquery引用</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">addJs</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$options</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">getAdminOptions</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_single</span><span style="color: Olive;">()</span><span style="color: Gray;"> || </span><span style="color: Blue;">is_page</span><span style="color: Olive;">()){</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">get_bloginfo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">wpurl</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/wp-content/plugins/wp-share-list/style/css/shareList.css&quot; /&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> . </span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;&nbsp; &nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$options</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">addJquery</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">true</span><span style="color: #8b0000;">'</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;script type=&quot;text/javascript&quot; src=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">get_bloginfo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">wpurl</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/wp-content/plugins/wp-share-list/js/jquery-1.4.2.min.js&quot;&gt;&lt;/script&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;script type=&quot;text/javascript&quot; src=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">get_bloginfo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">wpurl</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/wp-content/plugins/wp-share-list/js/jquery.shareList.js&quot;&gt;&lt;/script&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">addShareList</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
</ol></div>
<p>错误的版本</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">addJs</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$options</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">getAdminOptions</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">is_single</span><span style="color: Olive;">()</span><span style="color: Gray;"> || </span><span style="color: Blue;">is_page</span><span style="color: Olive;">()){</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">get_bloginfo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">wpurl</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/wp-content/plugins/wp-share-list/style/css/shareList.css&quot; /&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> . </span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;&nbsp; &nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$options</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">addJquery</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">true</span><span style="color: #8b0000;">'</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;script type=&quot;text/javascript&quot; src=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">get_bloginfo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">wpurl</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/wp-content/plugins/wp-share-list/js/jquery-1.4.2.min.js&quot;&gt;&lt;/script&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;script type=&quot;text/javascript&quot; src=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">get_bloginfo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">wpurl</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/wp-content/plugins/wp-share-list/js/jquery.shareList.js&quot;&gt;&lt;/script&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$this</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">addShareList</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
</ol></div>
<p>&#8230;.“}”引发的血案&#8230;&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3815/feed</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>web前端开发七武器</title>
		<link>http://www.36ria.com/3795</link>
		<comments>http://www.36ria.com/3795#comments</comments>
		<pubDate>Tue, 11 Jan 2011 11:23:58 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端开发工具]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[前端]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3795</guid>
		<description><![CDATA[前几天发了一篇《2010年天朝前端发展回忆录》，颇为意外，讨论最多的居然是前端IDE的话题，究竟哪款IDE才是最适合或是为前端量身定做的IDE？就目前来看，这个话题还没有答案，因为大部分IDE的出现并不是为前端服务的（aptana除外，但aptana目前越来越偏重ruby了，所以称其为ruby的IDE更恰当）。同时，这个话题也激发了明河写一篇前端开发工具总结文章的想法。 工欲善其事必......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/tools.png" alt="" title="tools" width="640" height="200" class="alignleft size-full wp-image-3803" /><br />
前几天发了一篇《2010年天朝前端发展回忆录》，颇为意外，讨论最多的居然是前端IDE的话题，究竟哪款IDE才是最适合或是为前端量身定做的IDE？就目前来看，这个话题还没有答案，因为大部分IDE的出现并不是为前端服务的（aptana除外，但aptana目前越来越偏重ruby了，所以称其为ruby的IDE更恰当）。同时，这个话题也激发了明河写一篇前端开发工具总结文章的想法。</p>
<h5>工欲善其事必先利其器</h5>
<p>对于那门语言来说工具都是非常重要的一块，前端开发的情况比较特殊，五花八门，十八般武器都有，而这个行业真的发展很快，新工具也是层出不穷，这对于前端初学者来说，既是福音，又是麻烦事，选择多了，未必是件好事，当然没选择，就绝对是件坏事。<br />
接下来明河根据自身对工具的使用感受，将前端工具做了下总结和归类。同时我会在接下来的时间写出关于这些常用工具的使用教程。</p>
<h4>武器一：前端开发IDE</h4>
<h5>最佳前端开发IDE：<a href="http://www.jetbrains.com/idea/"><strong>IntelliJ IDEA</strong></a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<img alt="" src="http://www.36ria.com/wp-content/uploads/2011/01/IntelliJ-IDEA.png" class="alignnone" width="640" height="83" /><br />
凭什么最佳IDE是IntelliJ IDEA？论资历比不过dreamweaver(其实在java开发中idea的名气是蛮大的，国内用的人太少)；论血统比不过aptana(aptana的诞生还是很明确的，就是前端开发用的。)；论轻巧比不上editplus、nodepad++；论牛逼还有Visual Studio横在那呢。<br />
关于理由，明河这里先不讲，等日后明河发IntelliJ IDEA的系列使用教程时，会一一给朋友们演示IntelliJ IDEA强悍的地方。<br />
明河使用DW不下1年，使用aptana也不下1年，期间还陆续使用了editplus、nodepad++，而明河使用idea只是二三个月，就把其他工具给抛弃了，剩个nodepad++（轻量的好处就是打开快，便于快速调试）。<br />
<strong>idea教程正在谋划中，敬请期待！</strong></p>
<h4>武器二：前端开发调试器</h4>
<h5>最佳前端开发调试器：<a href="http://www.36ria.com/3967"><strong>firebug</strong></a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/firebug1.png" alt="" title="firebug" width="640" height="131" class="alignleft size-full wp-image-3797" /><br />
firebug作为最佳前端开发调试器，应该是毫无争议的，也许你会告诉明河还有google chrome开发者工具呢。是的，论功能google chrome开发者工具不输于firebug，但论影响力firebug就非google chrome开发者工具可比，firebug的出现在整个前端发展史上具有重要的意义。<br />
firebug的使用，我想明河无需多此一举写教程了，大家都懂的&#8230;..</p>
<h5>最佳性能分析器：<a href="http://developer.yahoo.com/yslow/"><strong>YSLOW</strong></a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/yslow.png" alt="" title="yslow" width="640" height="160" class="alignleft size-full wp-image-3798" /><br />
前端工程师诞生于雅虎，而雅虎对于前端发展推动作用是巨大的，比如js框架YUI2、YUI3，比如yuicompressor，比如YSLOW，SLOW阐述的几个关于web性能优化准则，已经成为前端行业标准。</p>
<h5>最佳远程调试器：fiddler（小提琴）</h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/fiddler.png" alt="" title="fiddler" width="507" height="106" class="alignleft size-full wp-image-3799" /><br />
fiddler的本地代理调试真的非常的方便和强大，尤其是调试ajax的时候（调试ajax，如果你复制一份代码到本地，存在跨域问题，请求不到数据而使用fiddler不用担心这个问题）。</p>
<h4>武器三：前端文件压缩/编译器</h4>
<h5>最佳压缩器/编译器：<a href="http://www.36ria.com/3948"><strong>yuicompressor</strong></a>和<a href="http://code.google.com/intl/zh-CN/closure/compiler/"><strong>Google Closure Compiler</strong></a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
从js压缩的质量来看，Google Closure Compiler的压缩率比yuicompressor高些，Google Closure Compiler更准确说法应该是编译器。它要求你的js符合规范，不然压缩后的js很容易报错，yuicompressor一般没这个问题。css的压缩二者相差倒是不大。目前明河是二者都有用，yuicompressor用的更频繁些。</p>
<h4>武器四：前端开发build工具</h4>
<h5>最佳前端开发build工具：<a href="http://ant.apache.org/"><strong>ant</strong></a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/ANT.png" alt="" title="ANT" width="640" height="62" class="alignleft size-full wp-image-3802" /><br />
这里的build工具主要指的是一键合并、压缩、移动、删除js文件、css文件等。<br />
关于ant，明河写了不少教程：</p>
<ul>
<li><a href="http://www.36ria.com/4411" title="ant入门指南—web前端开发七武器（1）" target="_blank">ant入门指南—web前端开发七武器（1）</a></li>
<li><a href="http://www.36ria.com/4436" title="构建文件入门—ant入门指南（2）" target="_blank"></a></li>
<li><a href="http://www.36ria.com/4442" title="认识基础任务标签（上）—ant入门指南（3）" target="_blank">认识基础任务标签（上）—ant入门指南（3）</a></li>
<li><a href="http://www.36ria.com/4534" title="认识基础任务标签（下）—ant入门指南（4）" target="_blank">认识基础任务标签（下）—ant入门指南（4）</a></li>
<li><a href="http://www.36ria.com/4584" title="property—ant入门指南（5）" target="_blank">property—ant入门指南（5）</a></li>
<li><a href="http://www.36ria.com/4591" title="dataType—ant入门指南（6）" target="_blank">dataType—ant入门指南（6）</a></li>
<li><a href="http://www.36ria.com/4644" title="ant结合yui-compressor和closure-compiler—ant入门指南（7）" target="_blank">ant结合yui-compressor和closure-compiler—ant入门指南（7）</a></li>
<li><a href="http://www.36ria.com/4816" title="ant结合jsdoc构建js文档—ant入门指南8" target="_blank">ant结合jsdoc构建js文档—ant入门指南8</a></li>
</ul>
<h4>武器五：多浏览器</h4>
<h5>最佳IE多版本浏览器：<a href="http://www.my-debugbar.com/wiki/IETester/HomePage"><strong>IETEST</strong></a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/IETEST.png" alt="" title="IETEST" width="640" height="144" class="alignleft size-full wp-image-3801" /><br />
浏览器兼容性调试，是前端工作的很重要的组成部分，其中以IE6、IE7、IE8的调试最让人头疼，IETEST可以解决这一问题，值得一提的是IETEST也只是模拟，没有达到百分百的真实效果，有条件的最好用虚拟机。</p>
<h5>备选多版本浏览器：<a href="http://spoon.net/browsers/"><strong>Browser Sandbox</strong> </a></h5>
<h4>武器六：javascript测试器</h4>
<h5>最佳javascript单元测试框架：<a href="http://pivotal.github.com/jasmine/"><strong>Jasmine</strong></a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<img alt="" src="http://www.36ria.com/wp-content/uploads/2011/01/jasmine.png" class="alignnone" width="356" height="120" /><br />
Jasmine是kissy使用的js测试框架，也是明河鼎力推荐的测试框架。</p>
<ul>
<li><a href="http://www.36ria.com/4457" title="Jasmine入门教程—web前端开发七武器（上）" target="_blank">Jasmine入门教程—web前端开发七武器（上）</a></li>
<li><a href="http://www.36ria.com/4473" title="Jasmine入门教程—web前端开发七武器（下）" target="_blank">Jasmine入门教程—web前端开发七武器（下）</a></li>
<li><a href="http://www.36ria.com/4732" title="jasmine快速入门（PPT）" target="_blank">jasmine快速入门（PPT）</a></li>
</ul>
<h4>武器七：版本控制系统</h4>
<h5>最佳版本控制系统：<a href="http://www.36ria.com/4142">git</a></h5>
<p>推荐指数：<img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><img src="http://www.36ria.com/star.png" class="icon-star"></img><br />
<a href="http://www.36ria.com/3795/git-3" rel="attachment wp-att-4148"><img src="http://www.36ria.com/wp-content/uploads/2011/01/git-3.png" alt="" title="git-3" width="680" height="221" class="alignnone size-full wp-image-4148" /></a><br />
明河的git学习笔记：</p>
<ul>
<li><a href="http://www.36ria.com/4544" title="msysGit的中文支持—git学习笔记" target="_blank">msysGit的中文支持—git学习笔记</a></li>
<li><a href="http://www.36ria.com/4559" title="git处理文件忽略—git学习笔记" target="_blank">git处理文件忽略—git学习笔记</a></li>
<li><a href="http://www.36ria.com/4742" title="github快速使用指南—git学习笔记" target="_blank">github快速使用指南—git学习笔记</a></li>
</ul>
<h4>明河结语</h4>
<p>欢迎朋友们补充其他前端工具，明河在此先拜谢。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3795/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>kissy1.1.6实例—ajax调用Google日历</title>
		<link>http://www.36ria.com/3787</link>
		<comments>http://www.36ria.com/3787#comments</comments>
		<pubDate>Sun, 09 Jan 2011 09:12:11 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[kissy]]></category>
		<category><![CDATA[Google日历]]></category>
		<category><![CDATA[kissy1.1.6]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3787</guid>
		<description><![CDATA[今天给大家带来个kissy1.1.6的实例，kissy1.1.6有几个重要的新功能：ajax、Base，还有Template（模板引擎）。ajax部分，明河曾经演示了大部分的API用法，有不理解的，可以猛击这里进入《第十天kissy1.1.6新增的ajax方法—15天学会kissy》，同时也讨论了《说说kissy的ajax获取json时不执行回调函数的问题》，由于ajax实在太重要了，今天明河继续追加一个kissy的ajax实例。 在这个例子中，明河......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/kissy-ajax.png" alt="" title="kissy-ajax" width="640" height="200" class="alignleft size-full wp-image-3788" /><br />
今天给大家带来个kissy1.1.6的实例，kissy1.1.6有几个重要的新功能：ajax、Base，还有Template（模板引擎）。ajax部分，明河曾经演示了大部分的API用法，有不理解的，可以<a href="http://www.36ria.com/3696">猛击这里进入《第十天kissy1.1.6新增的ajax方法—15天学会kissy》</a>，同时也讨论了《<a href="http://www.36ria.com/3746">说说kissy的ajax获取json时不执行回调函数的问题</a>》，由于ajax实在太重要了，今天明河继续追加一个kissy的ajax实例。</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/ajaxcalendar/index.html" class="btn-view-demo" target="_blank"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=202" title="名称：ajax调用Google日历，下载次数：93，文件大小：14.48 kB" class="btn-download">点此下载</a></li>
</ul>
<p>在这个例子中，明河将获取Google日历上的数据，数据源格式为xml。同时明河演示了kissy模板引擎KISSY.Template的用法（template模块不包含在kissy-min.js中，需要手动引入，是个短小精悍的模板引擎）。<br />
为了方便大家做测试，我注册了个测试账号：用户名riahome123@126.com，密码是36riahome，google日历的登录地址是：<a href="https://www.google.com/calendar/">https://www.google.com/calendar/</a>。</p>
<h4>1.公开google日历</h4>
<p>想要外部调用google日历数据，首先需要公开日历，配置如下：<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/google-cal.png" alt="" title="google-cal" width="680" height="200" class="alignleft size-full wp-image-3789" /><br />
点击“xml”，获取日历数据源路径。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/google-cal-2.png" alt="" title="google-cal-2" width="613" height="198" class="alignleft size-full wp-image-3790" /></p>
<h4>2.建立个php本地代理下数据源</h4>
<p>由于数据源是xml，我们需要使用php获取下xml数据源，然后再输出，以解决ajax的跨域问题。<br />
php的代码请看<strong>cal-rss.php</strong></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">&lt;?php</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">$calendarURL</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">http://www.google.com/calendar/feeds/riahome123%40126.com/public/basic</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">$feed</span><span style="color: Gray;"> = </span><span style="color: Blue;">file_get_contents</span><span style="color: Olive;">(</span><span style="color: #00008b;">$calendarURL</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">Content-type: text/xml</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$feed</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">?&gt;</span></li></ol></div>
<h4>3.引入kissy和模板js</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;"> </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://assets.taobaocdn.com/s/kissy/1.1.6/kissy-min.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">&lt;!--引入kissy模板--&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">template.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h4>4.使用kissy的ajax方法请求数据</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">IO</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">cal-rss.php</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">data</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//.......</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">xml</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>5.使用kissy处理返回的数据源</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">doc</span><span style="color: Gray;"> = </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">children</span><span style="color: Olive;">(</span><span style="color: Blue;">data</span><span style="color: Olive;">)[</span><span style="color: Maroon;">0</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">author</span><span style="color: Gray;"> = </span><span style="color: Blue;">getChildrenNode</span><span style="color: Olive;">(</span><span style="color: Blue;">doc</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">author</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//日历作者名</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">name</span><span style="color: Gray;"> = </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">(</span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">children</span><span style="color: Olive;">(</span><span style="color: Blue;">author</span><span style="color: Olive;">)[</span><span style="color: Maroon;">0</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//作者邮箱</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">email</span><span style="color: Gray;"> = </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">(</span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">children</span><span style="color: Olive;">(</span><span style="color: Blue;">author</span><span style="color: Olive;">)[</span><span style="color: Maroon;">1</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//内容</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">entry</span><span style="color: Gray;"> = </span><span style="color: Blue;">getChildrenNode</span><span style="color: Olive;">(</span><span style="color: Blue;">doc</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">entry</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">each</span><span style="color: Olive;">(</span><span style="color: Blue;">entry</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">elem</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">item</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">date</span><span style="color: Gray;"> : </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Teal;">Date</span><span style="color: Olive;">(</span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">(</span><span style="color: Blue;">getChildrenNode</span><span style="color: Olive;">(</span><span style="color: Blue;">elem</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">published</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)))</span><span style="color: Gray;">.</span><span style="color: Blue;">format</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">yyyy-MM-dd hh:mm:ss</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">title</span><span style="color: Gray;"> : </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">(</span><span style="color: Blue;">getChildrenNode</span><span style="color: Olive;">(</span><span style="color: Blue;">elem</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">title</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">content</span><span style="color: Gray;"> : </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">(</span><span style="color: Blue;">getChildrenNode</span><span style="color: Olive;">(</span><span style="color: Blue;">elem</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">content</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">items</span><span style="color: Gray;">.</span><span style="color: Blue;">push</span><span style="color: Olive;">(</span><span style="color: Blue;">item</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">testIf</span><span style="color: Gray;"> = </span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">result</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: #8b0000;">'</span><span style="color: Red;">name</span><span style="color: #8b0000;">'</span><span style="color: Gray;">:</span><span style="color: Blue;">name</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">email</span><span style="color: #8b0000;">'</span><span style="color: Gray;">:</span><span style="color: Blue;">email</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">entry</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> : </span><span style="color: Blue;">items</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">testIf</span><span style="color: #8b0000;">'</span><span style="color: Gray;">:</span><span style="color: Blue;">testIf</span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li></ol></div>
<p>获取几个关键的数据：时间、活动标题和活动内容。<br />
（由于kissy无法通过节点名称获取xml文档的子节点，明河补充了一个函数）</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * 获取子节点</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * @param parentNode 父节点</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; * @param nodeName&nbsp;&nbsp; 节点名</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//TODO:之所以引入这个方法，是由于kissy无法通过节点名称获取XMLducument的子节点</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">getChildrenNode</span><span style="color: Olive;">(</span><span style="color: Blue;">parentNode</span><span style="color: Gray;">,</span><span style="color: Blue;">nodeName</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">childrenNodes</span><span style="color: Gray;"> = </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">children</span><span style="color: Olive;">(</span><span style="color: Blue;">parentNode</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span><span style="color: Blue;">node</span><span style="color: Gray;"> = </span><span style="color: Olive;">[]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">childrenNodes</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;"> &gt; </span><span style="color: Maroon;">0</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">S</span><span style="color: Gray;">.</span><span style="color: Blue;">each</span><span style="color: Olive;">(</span><span style="color: Blue;">childrenNodes</span><span style="color: Gray;">,</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">n</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">n</span><span style="color: Gray;">.</span><span style="color: Blue;">nodeName</span><span style="color: Gray;"> == </span><span style="color: Blue;">nodeName</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">node</span><span style="color: Gray;">.</span><span style="color: Blue;">push</span><span style="color: Olive;">(</span><span style="color: Blue;">n</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">node</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<h4>6.建立模板</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">tpls</span><span style="color: Gray;"> =</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;div id=&quot;calendar&quot;&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;h2 class=&quot;title&quot;&gt;&lt;%=name%&gt;(&lt;%=email%&gt;)的日历&lt;/h2&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;ul class=&quot;list&quot;&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;% for ( var i = 0, l = entry.length; i &lt; l;&nbsp; i++ ) { %&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;li class=&quot;grid&quot;&gt;&lt;div class=&quot;date g-u&quot;&gt;&lt;%=entry[i].date%&gt;&lt;/div&gt;&lt;div class=&quot;g-u&quot;&gt;&lt;h5 class=&quot;t&quot;&gt;&lt;%=entry[i].title%&gt;&lt;/h5&gt;&lt;p class=&quot;content&quot;&gt;&lt;%=entry[i].content%&gt;&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;% } %&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/ul&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;% if(testIf) { %&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;p class=&quot;footer&quot;&gt;这是第一个模板&lt;/p&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;% } %&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/div&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">//模板2</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;div id=&quot;calendar&quot; class=&quot;tpl2&quot;&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;h2 class=&quot;title&quot;&gt;&lt;%=name%&gt;的日历&lt;/h2&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;p&gt;明河的email是:&lt;strong&gt;&lt;%=email%&gt;&lt;/strong&gt;&lt;/p&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;ul class=&quot;list&quot;&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;% for ( var i = 0, l = entry.length; i &lt; l;&nbsp; i++ ) { %&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;li&gt;&lt;div class=&quot;date&quot;&gt;&lt;%=entry[i].date%&gt;&lt;/div&gt;&lt;h5 class=&quot;t&quot;&gt;&lt;%=entry[i].title%&gt;&lt;/h5&gt;&lt;p class=&quot;content&quot;&gt;&lt;%=entry[i].content%&gt;&lt;/p&gt;&lt;/li&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;% } %&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/ul&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;% if(testIf) { %&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;p class=&quot;footer&quot;&gt;这是第二个模板&lt;/p&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;% } %&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> +</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/div&gt;</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span></li></ol></div>
<p>这里创建的是二个模板。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Gray;">%&nbsp; %</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>这是模板标识符，你可以在模板内使用if、for、for&#8230;in、while等语法，非常强大。</p>
<h4>7.解析并输出模板</h4>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #ffa500;">//输出模板</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">result</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: #8b0000;">'</span><span style="color: Red;">name</span><span style="color: #8b0000;">'</span><span style="color: Gray;">:</span><span style="color: Blue;">name</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">email</span><span style="color: #8b0000;">'</span><span style="color: Gray;">:</span><span style="color: Blue;">email</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">entry</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> : </span><span style="color: Blue;">items</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">testIf</span><span style="color: #8b0000;">'</span><span style="color: Gray;">:</span><span style="color: Blue;">testIf</span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">html</span><span style="color: Gray;"> = </span><span style="color: Blue;">T</span><span style="color: Olive;">(</span><span style="color: Blue;">tpl</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">render</span><span style="color: Olive;">(</span><span style="color: Blue;">result</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">DOM</span><span style="color: Gray;">.</span><span style="color: Blue;">html</span><span style="color: Olive;">(</span><span style="color: Blue;">cal</span><span style="color: Gray;">,</span><span style="color: Blue;">html</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>关键语法：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">T</span><span style="color: Olive;">(</span><span style="color: Gray;">模板</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">render</span><span style="color: Olive;">(</span><span style="color: Gray;">数据源</span><span style="color: Olive;">)</span></li></ol></div>
<h4>8.模板引擎的bug</h4>
<p>目前明河发现了个小bug，即你的模板有一个多层次节点名称相同的嵌套结构，比如：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">明河</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>结果却输出</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">明河</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>也就是说失去了嵌套结构。</p>
<h4>9.明河结语</h4>
<p>kissy目前已经基本上涵盖了javascript的大部分常用操作，可以满足大部分人的需求了，希望大家可以支持下kissy这款国产js框架，谢谢。<br />
利用google日历的公开数据，可以做些有意思的应用，比如团队的周报（淘宝内部已经有使用google日历搭建的周报系统，挺好用的，很方便查看）。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3787/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2010年天朝前端发展回忆录</title>
		<link>http://www.36ria.com/3773</link>
		<comments>http://www.36ria.com/3773#comments</comments>
		<pubDate>Fri, 07 Jan 2011 02:24:41 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[作者日记]]></category>
		<category><![CDATA[前端]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3773</guid>
		<description><![CDATA[这篇文章的草稿在2011年1月1日就起好了，项目实在太赶，与时间赛跑的结果就是身心俱疲，时至今日，临近项目上线，终于可以松一口气，把这篇总结补完。 2010年对于明河来说，应该是转折性的一年，从厦门到杭州，从小公司到淘宝，明河算是有了个名分：前端工程师。 前端工程师这个职业诞生于雅虎，至今也有十个年头了。 2010年对于前端这个行业来说，又是发展最快的......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/2010.png" alt="" title="2010" width="640" height="200" class="alignleft size-full wp-image-3783" /><br />
这篇文章的草稿在2011年1月1日就起好了，项目实在太赶，与时间赛跑的结果就是身心俱疲，时至今日，临近项目上线，终于可以松一口气，把这篇总结补完。<br />
2010年对于明河来说，应该是转折性的一年，从厦门到杭州，从小公司到淘宝，明河算是有了个名分：前端工程师。<br />
前端工程师这个职业诞生于雅虎，至今也有十个年头了。<br />
2010年对于前端这个行业来说，又是发展最快的一年（相信2011年不是快，应该是膨胀），，新的前端技术层出不穷，甚至有点百家争鸣的味道。接下来，明河来盘点下2010年前端的热点，一家之言，难免偏薄，欢迎留言补充和纠正。</p>
<h2>一.前端技术篇</h2>
<h4>1.html5的崛起</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/html5.png" alt="" title="html5" width="228" height="216" class="alignleft size-full wp-image-3778" /><br />
有点讽刺，html5之所以可以在2010年被人喊得响亮，并不是因为web发展趋势使然（曾经有文章报道，按目前web发展，html5普及遥遥无期。），而是因为ipad引发的html5与adodb的flash口水之争，突然让html5的曝光率大增，是不是有点黄袍加身的意味，不管如何，html5的兴起，是每个前端从业者喜闻乐见的，html5对于前端人员来说，引用天朝常闻的一句话，就是既是机遇，又是挑战。<br />
明河也赶紧在博客的关键字和导航上补上html5，一般把明河这种人叫跟风，不过在天朝，一般叫与时俱进，是不，呵呵。</p>
<h4>2.javascript性能优化</h4>
<p>当性能优化与javascript绑在一起的时候，你想到了什么？是不是有点从民兵到正规军的味道？在若干年前，你跟前端人员谈javascript的性能优化，估计漫天砖头回来，在你临死前，还补上一句：“妈的，哥被浏览器兼容性折磨的要死要活，你还敢跟哥提性能优化。”现在，我想你会从不少的前端博客、UED博客、前端工程师口中见到这个词，是的，就是性能优化！javascript需要性能优化！这说明javascript开始走向成熟的一个标志。<br />
这里，明河吆喝个广告：想了解javascript性能优化，请看《高性能javascript》。</p>
<h5>1)异步加载js文件，防止页面阻塞</h5>
<p>从2010年几个重要的前端会议上，都可以看到异步加载js文件这个主题，facebook提过、淘宝提过、豆瓣提过，将来会有更多的人说这事，直到，该技术成为web应用标配。<br />
如何异步加载js文件，又是如何防止页面阻塞，这里明河不展开，载吆喝个广告，请看淘宝UED博客，请看KISSY框架的loader机制。</p>
<h5>2)请遵循YSLOW</h5>
<p>YSLOW提出的性能标准，现在已经成为了前端标准之一，尤其是减少请求数，合并背景图片，使用gzip、cdn等已经得到了广泛认可。<br />
javascript性能优化的点还有很多，这里就不再一一详述。</p>
<h4>3.css3走在普及路上</h4>
<p>&#8230;..好像一直都在普及路上，离普及遥遥无期&#8230;.关键还是IE这么大块的螃蟹横在哪，前端干瞪眼，于事无补，至少偷偷摸摸的实现些渐变、圆角一类的还是可以的&#8230;..</p>
<h2>二.前端框架篇</h2>
<p>国产javascript框架开始出现，淘宝的KISSY、百度的tangram、腾讯的XX（谁知道的留言下，我补上&#8230;.）。目前来看国产框架与jquery之类的国外js框架还是有很大差距，但重要不是架构差距、性能差距，主要还是普及度和UI完善度差距，这是可以弥补的，希望，各位前端朋友，可以多多支持这些国产js框架。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/kissy.png" alt="" title="kissy" width="618" height="226" class="alignleft size-full wp-image-3776" /></p>
<h2>三.前端工具篇</h2>
<h4>1.前端IDE</h4>
<p>最适合前端工段工程师使用的IDE是什么？dreamweaver？大哥，落伍了！aptana？靠谱些。VIM？&#8230;.神马，飘过&#8230;.什么，你使用记事本&#8230;.明河膜拜你，喊你声哥，太牛了&#8230;.<br />
这里明河严重推荐一款IED，使用它来写javascript，目前比较少，但淘宝内已经开始悄悄流行了，那就是<strong>IntelliJ IDEA</strong>经过明河二个月来的使用，得出个结论，IntelliJ IDEA非常靠谱！（aptana3不给力啊）。关于IntelliJ IDEA的使用，明河会在今年推出系列教程，敬请期待。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/IntelliJ-IDEA.png" alt="" title="IntelliJ IDEA" width="640" height="83" class="alignleft size-full wp-image-3777" /></p>
<h4>2.前端调试器</h4>
<p>firebug、fiddler、chrome开发者工具等等都是前端兵器谱上排的上号的，相信还有很多工具明河没点到，欢迎补充。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/firebug.png" alt="" title="firebug" width="507" height="357" class="alignleft size-full wp-image-3779" /><br />
还有一些前端工具，比如ant（ant的使用，明河将在今年推出个详细教程。）</p>
<h2>四.浏览器篇</h2>
<p>关于浏览器，我想不用明河描述，现在浏览器市场就是战场，比战场更惨烈，上个浏览器合照。<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/20100621050254cdd76.jpg" alt="" title="20100621050254cdd76" width="400" height="425" class="alignleft size-full wp-image-3780" /></p>
<h2>五.前端测试篇</h2>
<p>随着web应用越来越复杂，你会发现javascript的代码量会快速膨胀，从保证代码质量的角度出发，前端测试相当有必要，这里明河严重推荐kissy的御用单元测试工具<strong>jasmine</strong>，jasmine的详细用法，明河会在日后的教程发布。在这里，明河意淫下，前端测试员这个职业在不久的将来必会诞生&#8230;&#8230;.<br />
<img src="http://www.36ria.com/wp-content/uploads/2011/01/jasmine.png" alt="" title="jasmine" width="356" height="120" class="alignleft size-full wp-image-3785" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3773/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>前端中文原创推荐—众里寻他千百度</title>
		<link>http://www.36ria.com/3768</link>
		<comments>http://www.36ria.com/3768#comments</comments>
		<pubDate>Tue, 04 Jan 2011 02:27:05 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[前端原创推荐]]></category>
		<category><![CDATA[前端]]></category>
		<category><![CDATA[前端中文原创推荐]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3768</guid>
		<description><![CDATA[1.发布本地存储开发插件-Rookie 推荐指数： 作者：rukey67 博客：ued163 文章摘要：web本地存储功能一直是前端的讨论热点，有衍生出了多种方案，像最通用的cookies、flash、html5等。cookies的优点是通用性强，缺点是，存储空间过小，不适用大型的富客户端。html5目前IE横在哪，虽是趋势，但普及还要等上一段时间，于是flash本地存储，应该是目前比较好的解决方案，而Rookie可以很方......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/c.png" alt="" title="c" width="640" height="200" class="alignleft size-full wp-image-3769" /></p>
<h4>1.<a href="http://www.ued163.com/?p=1600" target="_blank">发布本地存储开发插件-Rookie</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：rukey67</li>
<li>博客：<a href="http://lifesinger.org/">ued163</a></li>
</ul>
<p><strong>文章摘要：</strong>web本地存储功能一直是前端的讨论热点，有衍生出了多种方案，像最通用的cookies、flash、html5等。cookies的优点是通用性强，缺点是，存储空间过小，不适用大型的富客户端。html5目前IE横在哪，虽是趋势，但普及还要等上一段时间，于是flash本地存储，应该是目前比较好的解决方案，而Rookie可以很方便的使用flash本地存储。</p>
<h4>2.<a href="http://www.xunzou.com/blog/post/618.html" target="_blank">自适应浏览器窗口的页面背景</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：冰剑</li>
<li>博客：<a href="http://lifesinger.org/">冰剑的博客</a></li>
</ul>
<h4>3.<a href="http://www.css88.com/archives/2894" target="_blank">jQuery API 1.4.4中文版下载</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：渔人码头</li>
<li>博客：<a href="http://lifesinger.org/">WEB前端开发</a></li>
</ul>
<h4>4.<a href="http://sofish.de/1563" target="_blank">加载 Javascript 最佳实践</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：sofish</li>
<li>博客：<a href="http://sofish.de/1563">幸福收藏夹</a></li>
</ul>
<p><strong>文章摘要：</strong>相当不错的文章，今年是javascript的loader机制普及年，越来越多的前端朋友开始关注异步加载js，解决阻塞的问题，当更多的人开始关注一门语言的性能时，说明语言走在向成熟前进的路上。我相信不久的未来，会诞生个新的职业叫：<strong>前端测试</strong>。</p>
<h4>5.<a href="http://www.oncoding.cn/2010/ie6-position-fixed/" target="_blank">IE6的position:fixed</a></h4>
<ul>
<li>推荐指数：<img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /><img class="icon-star" src="http://www.36ria.com/star.png" alt="" /></li>
<li>作者：额台</li>
<li>博客：<a href="http://www.oncoding.cn/2010/ie6-position-fixed/">幼学笔记</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3768/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>发布wp-share-list1.6.1推荐更新！</title>
		<link>http://www.36ria.com/3760</link>
		<comments>http://www.36ria.com/3760#comments</comments>
		<pubDate>Sat, 01 Jan 2011 13:14:02 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[wordpress插件]]></category>
		<category><![CDATA[wp-share-list]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3760</guid>
		<description><![CDATA[wp-share-list发布1.6不少热心的朋友找明河，哈多数是抱怨明河这个版本上存在这样或那样的bug，明河在此深表歉意，针对一些明显bug，1月1日做了修复，特此发布1.6.1版，没加入什么新功能，主要做些优化，建议更新。 wp-share-list1.6.1的更新内容如下 1.修复1.6版几个明显的bug 2.重写了html部分 3.解决部分主题调用失败的问题 4.解决1.6后出现新的样式冲突问题 目前有部分朋友反映1.6.1......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2011/01/wp-share-list-1.6.png" alt="" title="wp-share-list-1.6" width="640" height="200" class="alignleft size-full wp-image-3761" /><br />
wp-share-list发布1.6不少热心的朋友找明河，哈多数是抱怨明河这个版本上存在这样或那样的bug，明河在此深表歉意，针对一些明显bug，1月1日做了修复，特此发布1.6.1版，没加入什么新功能，主要做些优化，建议更新。<br />
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=176" title="名称：wp-share-list，下载次数：1560，文件大小：330.34 kB" class="btn-download">点此下载</a></p>
<h4>wp-share-list1.6.1的更新内容如下</h4>
<ul>
<li>1.修复1.6版几个明显的bug</li>
<li>2.重写了html部分</li>
<li>3.解决部分主题调用失败的问题</li>
<li>4.解决1.6后出现新的样式冲突问题</li>
</ul>
<p>目前有部分朋友反映1.6.1存在冲突，明河再次表示抱歉，同时放出1.6，如果1.6.1无法使用的朋友，请下载1.6。</p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=201" title="名称：wp-share-list1.6，下载次数：85，文件大小：323.72 kB" class="btn-download">点此下载</a>
<h4>补充2个QA</h4>
<h5>1.知更鸟主题（HotNewspro233）下，插件报错，调用失败的问题</h5>
<p>这个更新，很大程度上是因为这个问题，这里明河说明，并不是插件的问题，而是知更鸟这个主题引入多个jquery导致的变量覆盖导致的bug。<br />
目前明河已经使用小技巧，解决了这个冲突。</p>
<h5>2.IE6下存在内存泄露问题</h5>
<p>症状是鼠标的手型不断变化闪烁，看到这个问题，明河彻底囧了，调试了一个晚上，无果。一直想重构js脚本，重构结束后将发布个新版本，届时会解决这个问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3760/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>提前祝大家新年快乐！</title>
		<link>http://www.36ria.com/3757</link>
		<comments>http://www.36ria.com/3757#comments</comments>
		<pubDate>Thu, 30 Dec 2010 01:30:07 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[作者日记]]></category>
		<category><![CDATA[明河日记]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3757</guid>
		<description><![CDATA[马上2011年就要到来了，提前祝大家新年快乐！身体健康！感谢经常围观RIA之家的朋友，还有曾给明河发过邮件、留过言的朋友。 写博一年多来，发现做一个好的博客真的不容易，如何不容易法，我想大家都懂。付出是有回报的，别不信，还真的是真理。博客的日均IP终于过300了，随之而来的是过了300之后就不再涨了，相当苦恼的问题，开始反思一些东西，反思的结果是，新年......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2010/12/b_1290359379635.jpg" alt="" title="b_1290359379635" width="600" height="606" class="alignleft size-full wp-image-3758" /><br />
马上2011年就要到来了，提前祝大家新年快乐！身体健康！感谢经常围观RIA之家的朋友，还有曾给明河发过邮件、留过言的朋友。<br />
写博一年多来，发现做一个好的博客真的不容易，如何不容易法，我想大家都懂。付出是有回报的，别不信，还真的是真理。博客的日均IP终于过300了，随之而来的是过了300之后就不再涨了，相当苦恼的问题，开始反思一些东西，反思的结果是，新年后会对网站进行些调整。<br />
最近太忙了！博客更新很慢，向大家道个歉！没法子，项目的时间提前了不少，明河表示压力很大，最近累得够呛，继续磨中&#8230;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3757/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

