<?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; jquery教程</title>
	<atom:link href="http://www.36ria.com/category/jq/jquery%e6%95%99%e7%a8%8b/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>15个相当不错的jquery技巧</title>
		<link>http://www.36ria.com/4391</link>
		<comments>http://www.36ria.com/4391#comments</comments>
		<pubDate>Fri, 15 Jul 2011 13:18:42 +0000</pubDate>
		<dc:creator>明河</dc:creator>
				<category><![CDATA[jquery教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=4391</guid>
		<description><![CDATA[今天在tutorialzine发现一篇关于jquery使用技巧的，相当不错，翻译分享给各位。 1.使用最新的jquery版本 明河觉得这个建议有待商榷，虽然越新的jquery版本性能上更加优秀，但是有些方法的变迁还是会导致一些bug，比如从1.4.2到1.5时很多朋友就抱怨ajax上出现问题了。明河的建议是旧的页面的jquery升级需谨慎，新项目可以大胆的使用jquery新版本。 还有个建议是使用google的cdn上的jquer......]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.36ria.com/4391/jquery-15-tips" rel="attachment wp-att-4394"><img src="http://www.36ria.com/wp-content/uploads/2011/07/jquery-15-tips.png" alt="" title="jquery-15-tips" width="680" height="200" class="alignnone size-full wp-image-4394" /></a><br />
今天在<a href="http://tutorialzine.com/2011/06/15-powerful-jquery-tips-and-tricks-for-developers/">tutorialzine</a>发现一篇关于jquery使用技巧的，相当不错，翻译分享给各位。</p>
<h4>1.使用最新的jquery版本</h4>
<p>明河觉得这个建议有待商榷，虽然越新的jquery版本性能上更加优秀，但是有些方法的变迁还是会导致一些bug，比如从1.4.2到1.5时很多朋友就抱怨ajax上出现问题了。明河的建议是旧的页面的jquery升级需谨慎，新项目可以大胆的使用jquery新版本。<br />
还有个建议是使用google的cdn上的jquery文件，加载速度更快。猛击<a href="http://code.google.com/intl/zh-CN/apis/libraries/devguide.html" target="_blank">Google Libraries API</a> 进入查看。</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;">&lt;!-- Include a specific version of jQuery --&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;">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.6.1/jquery.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: #ffa500;">&lt;!-- Include the latest version in the 1.6 branch --&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;">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.6/jquery.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>
<h4>2.保持选择器的简单</h4>
<p>这个建议明河非常赞同，有很多朋友不喜欢给元素增加样式或id，希望保持html的简洁，使用jquery强大的选择器去检索元素，这不是好的习惯。首先越复杂的选择器，遍历的效率越低，这是显而易见的，最高效率无疑是使用原生的<strong>getElementById()</strong>；其次，复杂的选择器将标签名称和层级结构固化在里面，假如你的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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li[data-selected=&quot;true&quot;] a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// Fancy, but slow</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li.selected a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// Better</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#elem</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// Best</span></li></ol></div>
<p>访问DOM，是javascript最耗资源和性能的部分，所以尽量<strong>避免复杂或重复的遍历DOM</strong>。<br />
避免重复遍历DOM的方法就是将$()检索的元素存储到变量，比如下面的代码：</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;">buttons</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#navigation a.button</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">// 使用$前缀来标示jquery对象，是非常好的习惯，推荐使用。</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;"> $</span><span style="color: Blue;">buttons</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#navigation a.button</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>jquery选择器支持大部分的css3伪类方法，像<strong>:visible</strong>, <strong>:hidden</strong>, <strong>:animated</strong>，虽然很便利，但请慎用，因为当你使用伪类选择器的时候，jQuery不得不使用<strong>querySelectorAll()</strong>，性能的损耗更大。</p>
<h4>3.jQuery对象作为数组处理</h4>
<p>jQuery对象定义了length属性，当使用数组的形式操作时候返回其实是DOM元素而不是子jQuery对象，比如下面代码。</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;">// Selecting all the navigation buttons:</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">buttons</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#navigation a.button</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// 遍历buttons对象</span></li>
<li><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Blue;">i</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">buttons</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;</span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><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: Blue;">buttons</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">])</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">// 是DOM元素，而不是jQuery对象！</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// We can even slice it:</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">firstFour</span><span style="color: Gray;"> = </span><span style="color: Blue;">buttons</span><span style="color: Gray;">.</span><span style="color: Blue;">slice</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">4</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>根据实验，使用for或while循环，执行效率比$.each()来的高。详细测试可以看<a href="http://jsfiddle.net/martinaglv/NcRsV/" target="_blank">several times faster</a>。<br />
使用length属性来检查元素存在性：</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;">buttons</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// This is always true</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// Do something</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">buttons</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;">// True only if buttons contains elements</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// Do something</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<h4>4.selector属性</h4>
<p>jQuery对象都带有一个selector属性，用于获取选择器名称，比如：</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;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#container li:first-child</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">selector</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// #container li:first-child</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#container li</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">filter</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">:first-child</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">selector</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// #container li.filter(:first-child)</span></li></ol></div>
<p>留意第二行代码，selector返回的是获取的元素完整的选择器。<br />
这个属性常用于编写jquery插件的时候。</p>
<h4>5.创建一个空的jQuery对象</h4>
<p>这种情况应用场景不多，当你需要先创建个空的jQuery对象，然后使用<a href="http://api.jquery.com/add/" target="_blank">add()</a>方法向此对象注入jQuery对象时会用到。</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;">container</span><span style="color: Gray;"> = $</span><span style="color: Olive;">([])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">container</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">another_element</span><span style="color: Olive;">)</span><span style="color: Gray;">;)</span></li></ol></div>
<h4>6.选择随机元素</h4>
<p>应用场景不多，举个例子，现在你需要随机给li增加一个red的class。</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;">(</span><span style="color: Green;">function</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;">random</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</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: Blue;">expr</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><span style="color: Blue;">random</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">a</span><span style="color: Gray;">, </span><span style="color: Blue;">i</span><span style="color: Gray;">, </span><span style="color: Blue;">m</span><span style="color: Gray;">, </span><span style="color: Blue;">r</span><span style="color: Olive;">)</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;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Gray;"> == </span><span style="color: Maroon;">0</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: Blue;">random</span><span style="color: Gray;"> = </span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">floor</span><span style="color: Olive;">(</span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">random</span><span style="color: Olive;">()</span><span style="color: Gray;"> * </span><span style="color: Blue;">r</span><span style="color: Gray;">.</span><span style="color: Blue;">length</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: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;"> == </span><span style="color: Blue;">random</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;</span></li>
<li><span style="color: Olive;">})(</span><span style="color: Blue;">jQuery</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;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">li:random</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</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;">glow</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>需要扩展jquery的选择器，这段代码很好的演示了<strong>jQuery.expr</strong>的用法。</p>
<h4>7.使用css钩子</h4>
<p><a href="http://api.jquery.com/jQuery.cssHooks/" target="_blank">jQuery.cssHooks</a>是1.4.3新增的方法，用的不估计不多，当你定义新的CSS Hooks时实际上定义的是getter和setter方法，举个例子，border-radius这个圆角属性想要成功应用于firefox、webkit等浏览器，需要增加属性前缀，比如-moz-border-radius和-webkit-border-radius。你可以通过定义CSS Hooks将其封装成统一的接口borderRadius，而不是一一设置css属性。</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;">$.</span><span style="color: Blue;">cssHooks</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">borderRadius</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;">&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; </span><span style="color: Blue;">get</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: Gray;">, </span><span style="color: Blue;">computed</span><span style="color: Gray;">, </span><span style="color: Blue;">extra</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// Depending on the browser, read the value of</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// -moz-border-radius, -webkit-border-radius or border-radius</span></li>
<li><span style="color: Gray;">&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; </span><span style="color: Blue;">set</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: Gray;">, </span><span style="color: Blue;">value</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// Set the appropriate CSS3 property</span></li>
<li><span style="color: Gray;">&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// Use it without worrying which property the browser actually understands:</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#rect</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;">borderRadius</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Maroon;">5</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>8.使用自定义的Easing（缓动动画效果）函数</h4>
<p><a href="http://tutorialzine.com/2011/06/15-powerful-jquery-tips-and-tricks-for-developers/" target="_blank">easing plugin</a>是用的非常多的函数，可以实现不少华丽的效果。当内置的缓动效果无法满足你的需求时，还可以自定义缓动函数。</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;">$.</span><span style="color: Blue;">easing</span><span style="color: Gray;">.</span><span style="color: Blue;">easeInOutQuad</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">x</span><span style="color: Gray;">, </span><span style="color: Blue;">t</span><span style="color: Gray;">, </span><span style="color: Blue;">b</span><span style="color: Gray;">, </span><span style="color: Blue;">c</span><span style="color: Gray;">, </span><span style="color: Blue;">d</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;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">((</span><span style="color: Blue;">t</span><span style="color: #8b0000;">/</span><span style="color: Red;">=d</span><span style="color: #8b0000;">/</span><span style="color: Maroon;">2</span><span style="color: Olive;">)</span><span style="color: Gray;"> &lt; </span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Blue;">c</span><span style="color: #8b0000;">/</span><span style="color: Red;">2*t*t + b;</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; return -c</span><span style="color: #8b0000;">/</span><span style="color: Maroon;">2</span><span style="color: Gray;"> * </span><span style="color: Olive;">((</span><span style="color: Gray;">--</span><span style="color: Blue;">t</span><span style="color: Olive;">)</span><span style="color: Gray;">*</span><span style="color: Olive;">(</span><span style="color: Blue;">t</span><span style="color: Gray;">-</span><span style="color: Maroon;">2</span><span style="color: Olive;">)</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;">b</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// To use it:</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#elem</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><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><span style="color: #8b0000;">'</span><span style="color: Red;">slow</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">easeInOutQuad</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>9.$.proxy()的使用</h4>
<p>关于$.proxy()，明河曾经详细介绍过，传送门在此<a href="http://www.36ria.com/1372" target="_blank">《jquery1.4教程三：新增方法教程（3）》</a>。<br />
jquery有个让人头疼的地方，回调函数过多，上下文this总是在变化着，有时候我们需要控制this的指向，这时候就需要$.proxy()方法。</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;">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;">panel</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">style</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">display:none</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;">button</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Close</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">button</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#panel</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeIn</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;">// this points to #panel</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#panel button</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;">// this points to the button</span></li>
<li><span style="color: Gray;">&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;">fadeOut</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: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>嵌套的二个回调函数this指向是不同的！现在我们希望this的指向是#panel的元素。代码如下：</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;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#panel</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeIn</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;">// Using $.proxy to bind this:</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#panel button</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: Gray;">$.</span><span style="color: Blue;">proxy</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;">// this points to #panel</span></li>
<li><span style="color: Gray;">&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;">fadeOut</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><span style="color: Green;">this</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h4>10.快速获取节点数</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;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: Gray;"> $</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><span style="color: Blue;">length</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>11.构建个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;">(</span><span style="color: Green;">function</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: Blue;">fn</span><span style="color: Gray;">.</span><span style="color: Blue;">yourPluginName</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; </span><span style="color: #ffa500;">// Your code goes here</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;">this</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: Olive;">})(</span><span style="color: Blue;">jQuery</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>关于jquery插件的构建，明河曾发过系列教程，传送门：<a href="http://www.36ria.com/2765" title="制作jquery文字提示插件—jquery插件实战教程（1）" target="_blank">制作jquery文字提示插件—jquery插件实战教程（1）</a>。<br />
这里就不再详述。</p>
<h4>12.设置ajax全局事件</h4>
<p>关于ajax全局事件，明河曾发过完整的介绍文章，传送门：《<a href="http://www.36ria.com/2882" title="jquery的ajax全局事件详解—明河谈jquery" target="_blank">jquery的ajax全局事件详解—明河谈jquery</a>》。</p>
<h4>13.延迟动画</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;">// This is wrong:</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#elem</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><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><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">setTimeout</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: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#elem</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><span style="color: Blue;">marginTop</span><span style="color: Gray;">:</span><span style="color: Maroon;">100</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><span style="color: Maroon;">2000</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// Do it like this:</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#elem</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><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><span style="color: Blue;">delay</span><span style="color: Olive;">(</span><span style="color: Maroon;">2000</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">marginTop</span><span style="color: Gray;">:</span><span style="color: Maroon;">100</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>当存在多个animate动画时，如何处理动画的执行顺序是个烦心事，原文作者是建议使用<strong>delay()</strong>函数，如上面的代码，但明河的建议是使用<strong>queue()</strong>方法，因为delay你要考虑延迟多少时间，而queue没有这个问题，进入队列的函数会一个个顺序执行。可以看明河以前的文章<a href="http://www.36ria.com/8" title="queue和dequeue—明河谈jquery" target="_blank">queue和dequeue—明河谈jquery</a>。</p>
<h4>15.jquery的本地存储</h4>
<p>本地存储在现在web应用中使用越来越频繁，jquery有个专门用于本地存储的插件叫<a href="http://www.jstorage.info/" target="_blank">$.jStorage jQuery plugin</a>。</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;">// Check if &quot;key&quot; exists in the storage</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">value</span><span style="color: Gray;"> = $.</span><span style="color: Blue;">jStorage</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">key</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">value</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// if not - load the data from the server</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">value</span><span style="color: Gray;"> = </span><span style="color: Blue;">load_data_from_server</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">// and save it</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $.</span><span style="color: Blue;">jStorage</span><span style="color: Gray;">.</span><span style="color: Blue;">set</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">key</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">value</span><span style="color: Olive;">)</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: #ffa500;">// Use value</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/4391/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>使用javascript生成文件</title>
		<link>http://www.36ria.com/4379</link>
		<comments>http://www.36ria.com/4379#comments</comments>
		<pubDate>Sun, 10 Jul 2011 08:49:04 +0000</pubDate>
		<dc:creator>明河</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[javascript生成文件]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=4379</guid>
		<description><![CDATA[点此查看demo demo中演示了使用javascript生成文件的典型应用：用户可以在输入框输入自定义的数据，然后可以点击保存，将这些数据保存到本地，无需再手动在本地新建个txt然后再复制，帮用户省了一步操作。 还有一个比较典型的应用：系统输出一段密匙给用户，密匙一般很复杂，希望用户可以快速保存到本地，本文的技术就派上用场了。 从理论上来讲，想要单纯依靠javascript......]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.36ria.com/4379/js-generating-files" rel="attachment wp-att-4380"><img src="http://www.36ria.com/wp-content/uploads/2011/07/js-generating-files.png" alt="" title="js-generating-files" width="680" height="200" class="alignnone size-full wp-image-4380" /></a></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/jquery/generateFile/index.html" class="btn-view-demo" target="_blank">点此查看demo</a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=220" title="名称：generateFile，下载次数：87，文件大小：5.54 kB" class="btn-download">点此下载</a></li>
</ul>
<p>demo中演示了使用javascript生成文件的典型应用：用户可以在输入框输入自定义的数据，然后可以点击保存，将这些数据保存到本地，无需再手动在本地新建个txt然后再复制，帮用户省了一步操作。<br />
还有一个比较典型的应用：系统输出一段密匙给用户，密匙一般很复杂，希望用户可以快速保存到本地，本文的技术就派上用场了。<br />
从理论上来讲，想要单纯依靠javascript生成文件，是不可能的，目前主流的有二种方案可以实现生成文件功能：1、<strong>javascript+flash</strong>，该方案网上有现成的插件，插件的名字明河忘记了，-_-!明河比较健忘；2、javascript+服务器端语言，这是明河比较推崇的方案，本文的demo采用<strong>javascript+php</strong>实现的，接下来对这个方案，明河进行下简单说明。</p>
<h4>原理简述：</h4>
<p>原理并不复杂，整个流程如下图：<br />
<a href="http://www.36ria.com/4379/flow" rel="attachment wp-att-4382"><img src="http://www.36ria.com/wp-content/uploads/2011/07/flow.png" alt="" title="flow" width="680" height="140" class="alignnone size-full wp-image-4382" /></a></p>
<h4>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;">form</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;">./</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">h4</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">在下面输入框输入任意文字</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">h4</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;">textarea</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">textarea</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;">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: Gray;"> </span><span style="color: #00008b;">class</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">blueButton</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;">download</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;">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;">form</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h4>php处理数据，返回文件：</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;">&lt;?php</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_POST</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">filename</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;"> || </span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_POST</span><span style="color: Olive;">[</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; </span><span style="color: Green;">exit</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: #00008b;">$filename</span><span style="color: Gray;"> = </span><span style="color: Blue;">preg_replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">/[^a-z0-9\-\_\.]/i</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">''</span><span style="color: Gray;">,</span><span style="color: #00008b;">$_POST</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">filename</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Cache-Control: </span><span style="color: #8b0000;">&quot;</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;">&quot;</span><span style="color: Red;">Content-type: text/plain</span><span style="color: #8b0000;">&quot;</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-Disposition: attachment; filename=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$filename</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&quot;</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">echo</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">$_POST</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">content</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</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>
<p>服务器端最关键地就是对header的重写，比如上述代码中的</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;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Cache-Control: </span><span style="color: #8b0000;">&quot;</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;">&quot;</span><span style="color: Red;">Content-type: text/plain</span><span style="color: #8b0000;">&quot;</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-Disposition: attachment; filename=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$filename</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&quot;</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>服务器端需要二个参数：filename和content，接下来我们来看如何通过脚本异步post过去。<br />
异步post，条件反射地想到ajax，但这里我们借助<strong>iframe</strong>。</p>
<h4>assets/jquery.generateFile.js</h4>
<p><strong>jquery.generateFile.js</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;">(</span><span style="color: Green;">function</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">// 创建一个jquery插件</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $.</span><span style="color: Blue;">generateFile</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">options</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;">options</span><span style="color: Gray;"> = </span><span style="color: Blue;">options</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; </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: Gray;">!</span><span style="color: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">script</span><span style="color: Gray;"> || !</span><span style="color: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">filename</span><span style="color: Gray;"> || !</span><span style="color: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">content</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">throw</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Error</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">参数配置不合法!</span><span style="color: #8b0000;">&quot;</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// 创建一个1*1的iframe</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;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">iframe</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;iframe&gt;</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;">width</span><span style="color: Gray;">:</span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">height</span><span style="color: Gray;">:</span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">frameborder</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; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">css</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;">display</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">none</span><span style="color: #8b0000;">'</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><span style="color: Blue;">appendTo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">body</span><span style="color: #8b0000;">'</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: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">formHTML</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;form action=&quot;&quot; method=&quot;post&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; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;input type=&quot;hidden&quot; name=&quot;filename&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; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;input type=&quot;hidden&quot; name=&quot;content&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; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/form&gt;</span><span style="color: #8b0000;">'</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;">// 加个延迟的原因是：给IE一些创建DOM的时间</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;">setTimeout</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// iframe的document中的body元素</span></li>
<li><span style="color: Gray;">&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;">body</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">iframe</span><span style="color: Gray;">.</span><span style="color: Blue;">prop</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">contentDocument</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Blue;">undefined</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; </span><span style="color: Blue;">iframe</span><span style="color: Gray;">.</span><span style="color: Blue;">prop</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">contentDocument</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">body</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: Blue;">iframe</span><span style="color: Gray;">.</span><span style="color: Blue;">prop</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">document</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">body</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">// IE</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: Blue;">body</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: Blue;">body</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; &nbsp; &nbsp; </span><span style="color: #ffa500;">// 向iframe添加内容</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">body</span><span style="color: Gray;">.</span><span style="color: Blue;">html</span><span style="color: Olive;">(</span><span style="color: Blue;">formHTML</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; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">form</span><span style="color: Gray;"> = </span><span style="color: Blue;">body</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;">form</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">form</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;">action</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">script</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;">form</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;">input[name=filename]</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: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">filename</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;">form</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;">input[name=content]</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: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">content</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; &nbsp; &nbsp; </span><span style="color: #ffa500;">//提交表单</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: Blue;">form</span><span style="color: Gray;">.</span><span style="color: Blue;">submit</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><span style="color: Maroon;">50</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></li>
<li><span style="color: Olive;">})(</span><span style="color: Blue;">jQuery</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>主要有如下几个关键步骤：</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: #ffa500;">// 创建一个1*1的iframe</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;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">iframe</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;iframe&gt;</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;">width</span><span style="color: Gray;">:</span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">height</span><span style="color: Gray;">:</span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">frameborder</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; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">css</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;">display</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">none</span><span style="color: #8b0000;">'</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><span style="color: Blue;">appendTo</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">body</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h5>2.向iframe添加一个表单</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: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">formHTML</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;form action=&quot;&quot; method=&quot;post&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; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;input type=&quot;hidden&quot; name=&quot;filename&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; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;input type=&quot;hidden&quot; name=&quot;content&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; </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/form&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li></ol></div>
<p>将上述html片段加入到iframe中：</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;">// iframe的document中的body元素</span></li>
<li><span style="color: Gray;">&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;">body</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">iframe</span><span style="color: Gray;">.</span><span style="color: Blue;">prop</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">contentDocument</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"> !== </span><span style="color: Blue;">undefined</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; </span><span style="color: Blue;">iframe</span><span style="color: Gray;">.</span><span style="color: Blue;">prop</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">contentDocument</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">body</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: Blue;">iframe</span><span style="color: Gray;">.</span><span style="color: Blue;">prop</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">document</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">body</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">// IE</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: Blue;">body</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: Blue;">body</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; &nbsp; &nbsp; </span><span style="color: #ffa500;">// 向iframe添加内容</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">body</span><span style="color: Gray;">.</span><span style="color: Blue;">html</span><span style="color: Olive;">(</span><span style="color: Blue;">formHTML</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>这里明河重点提下<strong>prop</strong>方法，这是jquery1.6的新方法哦，这个方法的作用是什么呢？<br />
以前的jquery中，全部使用attr来访问对象的属性，比如取一个图片的alt属性，使用<strong>$(&#8216;#img&#8217;).attr(&#8216;alt&#8217;);</strong><br />
但是在某些时候，比如访问checkbox的<strong>disabled</strong>属性的时候，会有些问题。在有些浏览器里，只要写了disabled就可以，有些则要写：disabled = “disabled”。所以，从1.6开始，jq提供新的方法“prop”来获取这些属性。使用<strong>prop</strong>的时候，返回值是标准属性，true/false，比如<strong>$(&#8216;#checkbox&#8217;).prop(&#8216;disabled&#8217;)</strong>，不会返回 “disabled”或者“”，只会是true/false。当然赋值的时候也是如此。如此，我们便统一了所有操作，无论是从语法上还是语义上。</p>
<h5>3.提交表单</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;">form</span><span style="color: Gray;"> = </span><span style="color: Blue;">body</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;">form</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">form</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;">action</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">script</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;">form</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;">input[name=filename]</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: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">filename</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;">form</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;">input[name=content]</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: Blue;">options</span><span style="color: Gray;">.</span><span style="color: Blue;">content</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; &nbsp; &nbsp; </span><span style="color: #ffa500;">//提交表单</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: Blue;">form</span><span style="color: Gray;">.</span><span style="color: Blue;">submit</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li></ol></div>
<h4>初始化插件，生成文件</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;">#download</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><span style="color: Blue;">e</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;">generateFile</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">filename</span><span style="color: Gray;">&nbsp; &nbsp; : </span><span style="color: #8b0000;">'</span><span style="color: Red;">export.txt</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;">content</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">textarea</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; &nbsp; &nbsp; </span><span style="color: Blue;">script</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; : </span><span style="color: #8b0000;">'</span><span style="color: Red;">download.php</span><span style="color: #8b0000;">'</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;">e</span><span style="color: Gray;">.</span><span style="color: Blue;">preventDefault</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></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/4379/feed</wfw:commentRss>
		<slash:comments>10</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>使用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>jquery V1.4.3试用报告</title>
		<link>http://www.36ria.com/3326</link>
		<comments>http://www.36ria.com/3326#comments</comments>
		<pubDate>Sat, 23 Oct 2010 09:13:19 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquery1.4.3]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3326</guid>
		<description><![CDATA[jquery V1.4.3已经正式发布！相对于1.4.2更新内容并不多，但修正了一些bug，性能上有一些提高，看下图： 上图是1.4.3和1.4.2的css()方法效率的比较。 1.4.3重构了css()方法，新的css()将支持旋转设置 jquery V1.4.3 在Google’s CDN上的路径为：http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js 下载的话，可以猛击此处进入jquery官网下载。 （文章中的动画demo由于与主题的jquery冲突，无法运行，......]]></description>
			<content:encoded><![CDATA[<p><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script><br />
<script src="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js"></script><br />
jquery V1.4.3已经正式发布！相对于1.4.2更新内容并不多，但修正了一些bug，性能上有一些提高，看下图：</p>
<p><img class="alignleft size-full wp-image-3327" title="16214359_3rO0" src="http://www.36ria.com/wp-content/uploads/2010/10/16214359_3rO0.jpg" alt="" width="500" height="375" /></p>
<p>上图是1.4.3和1.4.2的css()方法效率的比较。</p>
<p>1.4.3重构了css()方法，新的css()将支持旋转设置</p>
<p>jquery V1.4.3 在Google’s CDN上的路径为：<a href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js">http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js</a></p>
<p>下载的话，可以<a href="http://jquery.com/" target="_blank">猛击此处</a>进入jquery官网下载。<br />
（文章中的动画demo由于与主题的jquery冲突，无法运行，也导致RIA之家导航出不来，所以二个动画demo请看示例页。）</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/jquery.1.4.3/" 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=194" title="名称：jquery V1.4.3试用报告，下载次数：92，文件大小：16.77 kB" class="btn-download">点此下载</a></li>
</ul>
<h1>一、jquery V1.4.3新方法测试</h1>
<h4>1、<a href="http://api.jquery.com/jQuery.isWindow/">jQuery.isWindow</a></h4>
<p>这个方法用来判断对象是否是一个window。</p>
<p>来看个例子:</p>
<input type="button" value="测试window是否是一个window对象" id="demo-1" />
<p>  <script>
	$('#demo-1').click(function(){
		alert($.isWindow(window));
	})
  </script></p>
<pre class="prettyprint">
$('#demo-1').click(function(){
    alert($.isWindow(window));
})
 </pre>
<p>是不是感觉这个方法很多此一举？在web浏览器，通常我们不会去特意测试window对象。 </p>
<h4>2、<a href="http://api.jquery.com/jQuery.type/">jQuery.type()</a></h4>
<p>相对于isWindow，type方法非常好用，<a href="http://api.jquery.com/jQuery.type/">jQuery.type()</a>用于专门判断数据类型，判断的正确性高于直接使用typeof，typeof无法直接区分object和array，你甚至可以用<a href="http://api.jquery.com/jQuery.type/">jQuery.type()</a>来判断是不是正则对象。</p>
<pre class="prettyprint">
jQuery.type(true) === "boolean"
jQuery.type(3) === "number"
jQuery.type("test") === "string"
jQuery.type(function(){}) === "function"
jQuery.type([]) === "array"
jQuery.type(new Date()) === "date"
jQuery.type(/test/) === "regexp")
 </pre>
<h4>3、<a href="http://api.jquery.com/jQuery.fx.interval/">jQuery.fx.interval</a></h4>
<p>jQuery.fx.interval是一个属性，不是方法，用于设置动画一帧的秒数，默认为11毫秒，设置得越低，动画就越顺滑，当然cpu资源就消耗越大。</p>
<input type="button" value="运行动画" id="demo-2"/>
<div id="demo-2-div" style="width:200px; height:30px; margin:5px;background:green;"></div>
<p>  <script>
jQuery.fx.interval = 80;</p>
<p>$("#demo-2").click(function(){
  $("#demo-2-div").toggle( 3000 );
});
   </script></p>
<pre class="prettyprint">
jQuery.fx.interval = 80;

$("#demo-2").click(function(){
  $("#demo-2-div").toggle( 3000 );
});
 </pre>
<p>可以明显感觉到动画变的非常不流畅，这是因为将jQuery.fx.interval设置过高的缘故。</p>
<h4>4、<a href="http://api.jquery.com/event.namespace/">event.namespace</a></h4>
<p>这是event新的一个属性，用于返回事件的命名空间（假如该事件有命名空间） </p>
<p id="test-p">
<input  type="button"  value="显示事件的命名空间" id="demo-3" />
<p><script>
$("#test-p").bind("test.ria", function(event) {
  alert( event.namespace );
});
$("#demo-3").click(function(event) {
  $("#test-p").trigger("test.ria");
});  
</script> </p>
<pre class="prettyprint">
$("#test-p").bind("test.ria", function(event) {
  alert( event.namespace );
});
$("#demo-3").click(function(event) {
  $("#test-p").trigger("test.ria");
});
 </pre>
<h1>二、jquery V1.4.3的方法改进</h1>
<h4>1、事件方法的改进</h4>
<p>当bind/unbind第二个参数为逻辑类型时，用于直接判断是否阻止浏览器事件默认动作和冒泡。</p>
<p><a href="http://www.36ria.com" id="demo-4">猛击这里</a></p>
<p> <script>
 	$("#demo-4").bind('click',false)
 </script></p>
<pre class="prettyprint">
 	$("#demo-4").bind('click',false)
 </pre>
<p>这个改进还是非常实用的，可以看到链接不再触发跳转。 </p>
<p>事件的第二个改进在于事件方法（比如click）的第一个参数可以为一个对象，click的第二个参数监听函数可以取到该对象的值。</p>
<input  type="button"  value="获取第一个参数对象的值" id="demo-5" />
<p><script>
 	$("#demo-5").click({'36ria':'明河共影'},function(evt){
		alert(evt.data['36ria']);
	})
 </script></p>
<pre class="prettyprint">
$("#demo-5").click({'36ria':'明河共影'},function(evt){
    alert(evt.data['36ria']);
})
 </pre>
<h4>2、所有的动画方法支持缓动</h4>
<input type="button" value="运行动画" id="demo-6"/>
<div id="demo-6-div" style="width:200px; height:30px; margin:5px;background:green;"></div>
<p>  <script></p>
<p>$("#demo-6").click(function(){
  $("#demo-6-div").toggle('slow','easeOutBounce');
});
   </script> </p>
<pre class="prettyprint">
$("#demo-6").click(function(){
  $("#demo-6-div").toggle('slow','easeOutBounce');
});
 </pre>
<p>  使用easing（缓动）请先引入easing插件。</p>
<h1>三、明河结语</h1>
<p>当然jquery1.4.3的改进不只明河提到的内容，更为详细的请<a href="http://blog.jquery.com/2010/10/16/jquery-143-released/">猛击这里</a>。<br />
<!--为了让代码更易读，这里明河引入prettify代码高亮--></p>
<link href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js"></script><br />
<script>
prettyPrint();
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3326/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>推荐6个使用jquery制作的选项卡</title>
		<link>http://www.36ria.com/3267</link>
		<comments>http://www.36ria.com/3267#comments</comments>
		<pubDate>Mon, 11 Oct 2010 11:30:46 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery选项卡]]></category>
		<category><![CDATA[选项卡]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=3267</guid>
		<description><![CDATA[很久没发过与jquery相关的东西了，今天推荐6个使用jquery制作的选项卡 1、Create A Tabbed Interface Using jQuery 2、Sweet AJAX Tabs With jQuery 1.4 &#038; CSS3 严重推荐围观。 3、Create a Slick Tabbed Content Area using CSS &#038; jQuery 4、Fancy Sliding Form with jQuery 5、Create A Tabbed Interface Using jQuery 6、Tabify 原文：http://webdesignledger.com/tutorials/11-useful-jquery-tab-navigation-solution......]]></description>
			<content:encoded><![CDATA[<p>很久没发过与jquery相关的东西了，今天推荐6个使用jquery制作的选项卡</p>
<h4>1、<a href="http://css-tricks.com/organic-tabs/" target="_blank">Create A Tabbed Interface Using jQuery</a></h4>
<p><img class="alignleft size-full wp-image-3268" title="jquery_tabs_11" src="http://www.36ria.com/wp-content/uploads/2010/10/jquery_tabs_11.jpg" alt="" width="540" height="317" /></p>
<h4>2、<a href="http://tutorialzine.com/2010/01/sweet-tabs-jquery-ajax-css/" target="_blank">Sweet AJAX Tabs With jQuery 1.4 &#038; CSS3</a><br />
</h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2010/10/jquery_tabs_1.jpg" alt="" title="jquery_tabs_1" width="540" height="401" class="alignleft size-full wp-image-3269" /><br />
严重推荐围观。</p>
<h4>3、<a href="http://net.tutsplus.com/html-css-techniques/how-to-create-a-slick-tabbed-content-area/" target="_blank">Create a Slick Tabbed Content Area using CSS &#038; jQuery</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2010/10/jquery_tabs_4.jpg" alt="" title="jquery_tabs_4" width="540" height="350" class="alignleft size-full wp-image-3270" /></p>
<h4>4、<a href="http://tympanus.net/codrops/2010/06/07/fancy-sliding-form-with-jquery/">Fancy Sliding Form with jQuery</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2010/10/jquery_tabs_5.jpg" alt="" title="jquery_tabs_5" width="540" height="266" class="alignleft size-full wp-image-3271" /></p>
<h4>5、<a href="http://net.tutsplus.com/javascript-ajax/create-a-tabbed-interface-using-jquery/">Create A Tabbed Interface Using jQuery</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2010/10/jquery_tabs_2.jpg" alt="" title="jquery_tabs_2" width="540" height="261" class="alignleft size-full wp-image-3272" /></p>
<h4>6、<a href="http://d2o0t5hpnwv4c1.cloudfront.net/042_jQueryUITabs/demo/index.html">Tabify</a></h4>
<p><img src="http://www.36ria.com/wp-content/uploads/2010/10/jquery_tabs_6.jpg" alt="" title="jquery_tabs_6" width="540" height="266" class="alignleft size-full wp-image-3273" /><br />
原文：<a href="http://webdesignledger.com/tutorials/11-useful-jquery-tab-navigation-solutions">http://webdesignledger.com/tutorials/11-useful-jquery-tab-navigation-solutions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/3267/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jquery的ajax全局事件详解—明河谈jquery</title>
		<link>http://www.36ria.com/2882</link>
		<comments>http://www.36ria.com/2882#comments</comments>
		<pubDate>Mon, 09 Aug 2010 14:31:39 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[明河谈jquery]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2882</guid>
		<description><![CDATA[jquery在ajax方面是非常强大和方便的，以下是jquery进行ajax请求时方法模板： $.ajax({ &#160; &#160; &#160; &#160; &#160;&#160; type: &#34;get&#34;, &#160; &#160; &#160; &#160; &#160;&#160; url: &#34;&#34;, &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&#160; data : {}, &#160; &#160; &#160; &#160; &#160;&#160; beforeSend : function(){ &#160; &#160; &#160; &#160; &#160; &#160;&#160; }, &#160; &#160; &#160; &#160; &#160;&#160; success : function(data){ &#160; ......]]></description>
			<content:encoded><![CDATA[<p>jquery在ajax方面是非常强大和方便的，以下是jquery进行ajax请求时方法模板：</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;">$.</span><span style="color: Blue;">ajax</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">type</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">get</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">url</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;&quot;</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;">data</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: Blue;">beforeSend</span><span style="color: Gray;"> : </span><span style="color: Green;">function</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; </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;">success</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;</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;">complete</span><span style="color: Gray;"> : </span><span style="color: Green;">function</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; </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>关于$.ajax()方法的使用，不是明河写这篇文章的目的，今天明河主要讲解当进行ajax请求时整个完整的事件流程。</p>
<h4>jquery的ajax方法的全部全局事件：</h4>
<ul>
<li>ajaxStart：ajax请求开始前</li>
<li>ajaxSend：ajax请求时</li>
<li>ajaxSuccess：ajax获取数据后</li>
<li>ajaxComplete：ajax请求完成时</li>
<li>ajaxError：ajax请求发生错误后</li>
<li>ajaxStop：ajax请求停止后</li>
</ul>
<p>当你使用jquery的ajax方法,不管是$.ajax()、$.get()、$.load()、$.getJSON()等都会默认触发全局事件，只是通常不绑定全局事件，但实际上这些全局事件非常有用处。</p>
<h4>ajax方法的全局事件的用处</h4>
<p>ajax全局事件，有个典型的应用场合：<br />
你的页面存在多个甚至为数不少的ajax请求，但是这些ajax请求都有相同的消息机制。ajax请求开始前显示一个提示框，提示“正在读取数据“；ajax请求成功时提示框显示“数据获取成功”；ajax请求结束后隐藏提示框。<br />
<strong>不使用全局事件的做法是：</strong><br />
给$.ajax()加上beforeSend、success、complete回调函数，在回调函数中加上处理提示框。<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: 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;">ajaxStart</span><span style="color: Olive;">(</span><span style="color: Blue;">onStart</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;">ajaxComplete</span><span style="color: Olive;">(</span><span style="color: Blue;">onComplete</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;">ajaxSuccess</span><span style="color: Olive;">(</span><span style="color: Blue;">onSuccess</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: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">onStart</span><span style="color: Olive;">(</span><span style="color: Blue;">event</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: #ffa500;">//.....</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: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">onComplete</span><span style="color: Olive;">(</span><span style="color: Blue;">event</span><span style="color: Gray;">, </span><span style="color: Blue;">xhr</span><span style="color: Gray;">, </span><span style="color: Blue;">settings</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: #ffa500;">//.....</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: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">onSuccess</span><span style="color: Olive;">(</span><span style="color: Blue;">event</span><span style="color: Gray;">, </span><span style="color: Blue;">xhr</span><span style="color: Gray;">, </span><span style="color: Blue;">settings</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: #ffa500;">//.....</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<h4>ajax方法完整事件流</h4>
<p>为了更直观的说明，明河使用Axure画了二个流程图，画的不好还请见谅，O(∩_∩)O<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/08/ajax-events-1.png" alt="" title="ajax-events-1" width="601" height="277" class="alignleft size-full wp-image-2883" /><br />
<img src="http://www.36ria.com/wp-content/uploads/2010/08/ajax-events-2.png" alt="" title="ajax-events-2" width="600" height="281" class="alignleft size-full wp-image-2884" /></p>
<h4>ajax方法完整事件流演示</h4>
<p>为了让朋友更容易理解整个事件流，明河做了以下demo。</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/jqueryAjax/" 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=187" title="名称：ajax全局事件，下载次数：185，文件大小：39.46 kB" class="btn-download">点此下载</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2882/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>使用jquery制作背景变化菜单</title>
		<link>http://www.36ria.com/2852</link>
		<comments>http://www.36ria.com/2852#comments</comments>
		<pubDate>Tue, 03 Aug 2010 06:45:58 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2852</guid>
		<description><![CDATA[jquery动画函数animate是不支持背景移动动画的，即无法对backgroundPosition进行处理，需要使用一个插件，这个插件名为jquery.backgroundPosition，接下来将使用这个插件，制作一个背景变化的菜单。 制作过程 1、创建如下html菜单结构 &#60;ul&#62; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#60;li&#62;&#60;a&#160;href=&#34;http://www.36ria.com/&#34;&#62;首页&#60;/a&#62;&#60;/li&#62; &#160; &#160; &#160; &#160; &#160; &#1......]]></description>
			<content:encoded><![CDATA[<p>jquery动画函数animate是不支持背景移动动画的，即无法对backgroundPosition进行处理，需要使用一个插件，这个插件名为<strong>jquery.backgroundPosition</strong>，接下来将使用这个插件，制作一个背景变化的菜单。<br />
<img class="alignleft size-full wp-image-2853" title="backgroundAnimate" src="http://www.36ria.com/wp-content/uploads/2010/08/backgroundAnimate.png" alt="" width="320" height="288" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/backgroundAnimate/" 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=186" title="名称：backgroundPosition，下载次数：288，文件大小：40.23 kB" class="btn-download">点此下载</a></li>
</ul>
<h2>制作过程</h2>
<h5>1、创建如下html菜单结构</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;">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;">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;">http://www.36ria.com/</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;">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; </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;">http://www.36ria.com/</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;">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; </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;">http://www.36ria.com/</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;">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; </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h5>2、加上css样式</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;">ul</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">list-style:</span><span style="color: Red;">none</span><span style="color: Gray;">;</span><span style="color: Green;">margin:</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Green;">padding:</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Green;">float:</span><span style="color: Red;">left</span><span style="color: Gray;">;</span><span style="color: Green;">width:</span><span style="color: Maroon;">100</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">margin:</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Green;">padding:</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Green;">text-align:</span><span style="color: Red;">center</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: Olive;">}</span></li>
<li><span style="color: Blue;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">a</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">display:</span><span style="color: Red;">block</span><span style="color: Gray;">;</span><span style="color: Green;">padding:</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: Green;">height:</span><span style="color: Maroon;">100</span><span style="color: Red;">%</span><span style="color: Gray;">;</span><span style="color: Green;">color:</span><span style="color: #00008b;">#FFF</span><span style="color: Gray;">;</span><span style="color: Green;">text-decoration:</span><span style="color: Red;">none</span><span style="color: Gray;">;</span><span style="color: Green;">border-right:</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;">#FFF</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">a</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">background:</span><span style="color: Gray;">url(../images/bg2.jpg) </span><span style="color: Red;">repeat</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: Olive;">}</span></li>
<li><span style="color: Blue;">li</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">a</span><span style="color: Navy;">:hover</span><span style="color: Gray;">, </span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Blue;">a</span><span style="color: Navy;">:focus</span><span style="color: Gray;">, </span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Blue;">a</span><span style="color: Navy;">:active</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">background-position:</span><span style="color: Gray;">-</span><span style="color: Maroon;">150</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: Olive;">}</span></li></ol></div>
<p>示例中有5个demo，共用了四张背景图片：<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/08/bg.jpg" alt="" title="bg" width="199" height="100" class="alignleft size-full wp-image-2854" /><br />
<img src="http://www.36ria.com/wp-content/uploads/2010/08/bg2.jpg" alt="" title="bg2" width="300" height="50" class="alignleft size-full wp-image-2855" /><br />
<img src="http://www.36ria.com/wp-content/uploads/2010/08/bg3.jpg" alt="" title="bg3" width="199" height="300" class="alignleft size-full wp-image-2856" /><br />
<img src="http://www.36ria.com/wp-content/uploads/2010/08/bg4.jpg" alt="" title="bg4" width="199" height="300" class="alignleft size-full wp-image-2857" /><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: Blue;">#a</span><span style="color: Gray;"> </span><span style="color: Blue;">a</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">background:</span><span style="color: Gray;">url(../images/bg.jpg) </span><span style="color: Red;">repeat</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;">35</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">#b</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">a</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">background:</span><span style="color: Gray;">url(../images/bg2.jpg) </span><span style="color: Red;">repeat</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: Olive;">}</span></li>
<li><span style="color: Blue;">#c</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">a</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">background:</span><span style="color: Gray;">url(../images/bg3.jpg) </span><span style="color: Red;">repeat</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: Olive;">}</span></li>
<li><span style="color: Blue;">#d</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">a</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">background:</span><span style="color: Gray;">url(../images/bg4.jpg) </span><span style="color: Red;">repeat</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: Olive;">}</span></li></ol></div>
<h5>3、javascript脚本</h5>
<p>引入jquery库和jquery.backgroundPosition：</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;">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;">js/jquery-1.4.2.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;">js/jquery.backgroundPosition.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>
<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: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#a a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-20px 35px</span><span style="color: #8b0000;">&quot;</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: Blue;">mouseover</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(-20px 94px)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">500</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; &nbsp; &nbsp; .</span><span style="color: Blue;">mouseout</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(40px 35px)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">200</span><span style="color: Gray;">, </span><span style="color: Blue;">complete</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;">css</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-20px 35px</span><span style="color: #8b0000;">&quot;</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#b a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0 0</span><span style="color: #8b0000;">&quot;</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: Blue;">mouseover</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(-150px 0)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">500</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; &nbsp; &nbsp; .</span><span style="color: Blue;">mouseout</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(-300px 0)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">200</span><span style="color: Gray;">, </span><span style="color: Blue;">complete</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;">css</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0 0</span><span style="color: #8b0000;">&quot;</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#c a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0 0</span><span style="color: #8b0000;">&quot;</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: Blue;">mouseover</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(0 -250px)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">500</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; &nbsp; &nbsp; .</span><span style="color: Blue;">mouseout</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(0 0)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">500</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: #8b0000;">'</span><span style="color: Red;">#d a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0 0</span><span style="color: #8b0000;">&quot;</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: Blue;">mouseover</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(0 -250px)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">500</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; &nbsp; &nbsp; .</span><span style="color: Blue;">mouseout</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; &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;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(0 0)</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Blue;">duration</span><span style="color: Gray;">:</span><span style="color: Maroon;">500</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: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>引入jquery.backgroundPosition后animate()开始支持backgroundPosition背景位移动画。后二个颜色渐变的例子，也是通过渐变背景图片上下移动产生的。</p>
<p>原文：<a href="http://snook.ca/archives/javascript/jquery-bg-image-animations/">http://snook.ca/archives/javascript/jquery-bg-image-animations/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2852/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>基础模板的缺陷—jquery插件开发进阶教程（2）</title>
		<link>http://www.36ria.com/2847</link>
		<comments>http://www.36ria.com/2847#comments</comments>
		<pubDate>Mon, 02 Aug 2010 01:56:41 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery插件开发教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2847</guid>
		<description><![CDATA[这个系列的第一篇教程明河讲述了：jquery插件开发规范，今天这篇教程明河将讲述jquery插件基础模板的缺陷。 在jquery插件实战教程，明河曾以Colortip文字提示插件，讲解了jquery插件的基础模板： (function($){ &#160; &#160; $.fn.插件名 = function(settings){&#160; &#160; &#160; &#160; &#160; var&#160;defaultSettings = { &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; } &#160; &#160; &#160; &#160; /* 合并默认参数......]]></description>
			<content:encoded><![CDATA[<p>这个系列的第一篇教程明河讲述了：<a href="http://www.36ria.com/2822">jquery插件开发规范</a>，今天这篇教程明河将讲述jquery插件基础模板的缺陷。<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/08/plugin-t.png" alt="" title="plugin-t" width="600" height="240" class="alignleft size-full wp-image-2848" /><br />
在<a rel="bookmark" href="http://www.36ria.com/2768">jquery插件实战教程</a>，明河曾以Colortip文字提示插件，讲解了jquery插件的基础模板：</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;">(</span><span style="color: Green;">function</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: Blue;">fn</span><span style="color: Gray;">.插件名 = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">settings</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</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;">defaultSettings</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &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; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">/* 合并默认参数和用户自定义参数 */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">settings</span><span style="color: Gray;"> = $.</span><span style="color: Blue;">extend</span><span style="color: Olive;">({}</span><span style="color: Gray;">,</span><span style="color: Blue;">defaultSettings</span><span style="color: Gray;">,</span><span style="color: Blue;">settings</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;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">each</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; &nbsp; </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; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Olive;">})(</span><span style="color: Blue;">jQuery</span><span style="color: Olive;">)</span></li></ol></div>
<p>（明河再次提醒，这个基础模板很重要，尽量看懂用懂它。）<br />
在教程的最后，明河同时也指出了<a href="http://www.36ria.com/2818">Colortip这个插件的缺陷</a>，Colortip的缺陷，归根到底还是jquery插件基础模板的缺陷引起的。</p>
<h2>jquery插件基础模板的缺陷</h2>
<h5>1、难以实现类与类之间的继承</h5>
<p>比如明河写了yitip，原理与colortip一样，但是无法通过扩展colortip的方式，只能重新写个完整插件。 </p>
<h5>2、无法开放API供外部调用</h5>
<p>这是jquery插件基础模板最大的缺陷，以colortip例子，在初始化colortip后，你无法改变提示框出现的位置、内容、动画效果、延迟时间等，colortip没有相应的API，但是明河写的yitip，却可以实现相应的控制。<br />
colortip的演示：<a href="http://www.36ria.com/demo/colortips/colortips.html">http://www.36ria.com/demo/colortips/colortips.html</a><br />
yitip的演示：<a href="http://www.36ria.com/demo/yitip/">http://www.36ria.com/demo/yitip/</a><br />
可以看到yitip提供了相应的API供使用者操作，那么yitip又是如何实现API的开放呢？接下来的教程明河会展开叙述。</p>
<h5>3、无法提供自定义事件支持</h5>
<p>比如你想要在提示框显示前弹出一个对话框，在隐藏提示框后删除提示框等。</p>
<h5>4、无法模拟出接口。</h5>
<p>你无法很直观的知道你所使用的方法插件支不支持，插件到底有几个方法，传递给方法的参数个数和数据类型对不对等。</p>
<h5>5、缺少debug能力。</h5>
<p>插件有可能会调用失败，这时候你希望知道插件在调用的过程中所发生的所有的事，你需要打印一系列的流程到调用面板中，jquery插件基础模板无法提供这一功能。</p>
<h4>结语</h4>
<p>正是jquery插件基础模板存在如此多的缺陷，所以明河才觉得有必要讲述一个jquery插件的高级模板，用于解决这些缺陷。<br />
下一篇教程：<strong>jquery插件的高级模板</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2847/feed</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>实用jquery代码片段集合（下）</title>
		<link>http://www.36ria.com/2836</link>
		<comments>http://www.36ria.com/2836#comments</comments>
		<pubDate>Thu, 29 Jul 2010 01:51:40 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery代码片段]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2836</guid>
		<description><![CDATA[如何隐藏除了特定选择器下的全部对象 $('#target div:not(#exclude)').hide();&#160; &#160;//或者&#160; $('#target').children().filter(':not(#exclude)').hide(); filter()起到过滤的作用。 寻找带有指定字符串的元素 var foundin = $('*:contains(&#34;明河&#34;)'); 获取垂直滚动距离 alert($(document).scrollTop()); scrollTop()非常实用的一个方法。 向表格追加一行数据 $('#myTable tr:last').after('&#60;tr&#62;...&#60;/tr&#62;'); 超过一个属......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2010/07/jquery-snippets-2.png" alt="" title="jquery-snippets-2" width="600" height="240" class="alignleft size-full wp-image-2837" /></p>
<h5>如何隐藏除了特定选择器下的全部对象</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#target div:not(#exclude)</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;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;">//或者&nbsp; </span></li>
<li><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#target</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">children</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">filter</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">:not(#exclude)</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></li></ol></div>
<p>filter()起到过滤的作用。</p>
<h5>寻找带有指定字符串的元素</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;">foundin</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">*:contains(&quot;明河&quot;)</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h5>获取垂直滚动距离</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;">alert</span><span style="color: Olive;">(</span><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;">scrollTop</span><span style="color: Olive;">())</span><span style="color: Gray;">;</span></li></ol></div>
<p>scrollTop()非常实用的一个方法。</p>
<h5>向表格追加一行数据</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#myTable tr:last</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">after</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;tr&gt;...&lt;/tr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h5>超过一个属性时的过滤</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;">elements</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#someid input[type=sometype][value=somevalue]</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li></ol></div>
<h5>让cookies在X分钟后过期</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;">date</span><span style="color: Gray;"> = </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></li>
<li><span style="color: Blue;">date</span><span style="color: Gray;">.</span><span style="color: Blue;">setTime</span><span style="color: Olive;">(</span><span style="color: Blue;">date</span><span style="color: Gray;">.</span><span style="color: Blue;">getTime</span><span style="color: Olive;">()</span><span style="color: Gray;"> + </span><span style="color: Olive;">(</span><span style="color: Blue;">x</span><span style="color: Gray;"> * </span><span style="color: Maroon;">60</span><span style="color: Gray;"> * </span><span style="color: Maroon;">1000</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">$.</span><span style="color: Blue;">cookie</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">example</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">foo</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">expires</span><span style="color: Gray;">: </span><span style="color: Blue;">date</span><span style="color: Gray;"> </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>选择从第一个到第X个的元素</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;">//从第一个到第10个</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">a</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">slice</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">10</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//或者</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">a:lt(10)</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h5>获取客户端的IP</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: Gray;">$.</span><span style="color: Blue;">getJSON</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://jsonip.appspot.com?callback=?</span><span style="color: #8b0000;">&quot;</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; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">你的IP：</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> + </span><span style="color: Blue;">data</span><span style="color: Gray;">.</span><span style="color: Blue;">ip</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>这是利用了jsonip.appspot.com提供的取IP服务。</p>
<h5>解析XML数据源</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;">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: Olive;">?&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">result</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;">item</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;">id</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">id</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;">title</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">title1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">title</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;">description</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">desc1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">description</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;">item</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;">item</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;">id</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">id</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;">title</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">title2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">title</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;">description</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">desc2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">description</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;">item</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">&lt;!-- ... --&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">result</span><span style="color: Olive;">&gt;</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: Gray;">$.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">file.xml</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Olive;">{}</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; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">item</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">data</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">each</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: Green;">var</span><span style="color: Gray;"> $</span><span style="color: Green;">this</span><span style="color: Gray;">&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</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; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">id</span><span style="color: Gray;"> &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;= $</span><span style="color: Green;">this</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;">id</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">text</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;">title</span><span style="color: Gray;"> &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;= $</span><span style="color: Green;">this</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;">title</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">text</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;">description</span><span style="color: Gray;"> = $</span><span style="color: Green;">this</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;">description</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">text</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;">//do something ...</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: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>获取在id中的数字</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;">sites</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;">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;">site_1</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;">http://siteA.com</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">siteA</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;">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;">site_2</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;">http://siteB.com</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">siteB</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;">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;">site_3</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;">http://siteB.com</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">siteC</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></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#sites a</span><span style="color: #8b0000;">&quot;</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; </span><span style="color: Green;">var</span><span style="color: Gray;"> $</span><span style="color: Green;">this</span><span style="color: Gray;"> &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</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; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">nmb</span><span style="color: Gray;"> &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;&amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">; &amp;</span><span style="color: Blue;">nbsp</span><span style="color: Gray;">;= $</span><span style="color: Green;">this</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;">id</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">/</span><span style="color: Red;">site_(\d+)</span><span style="color: #8b0000;">/</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; ...</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>将类似12343778 转成 12.343.778的形式 </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;">delimiter</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">.</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#result</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">toString</span><span style="color: Olive;">()</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">replace</span><span style="color: Olive;">(</span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Teal;">RegExp</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">(^</span><span style="color: Navy;">\\</span><span style="color: Red;">d{</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Olive;">(</span><span style="color: Gray;">$</span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">html</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">toString</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">%</span><span style="color: Maroon;">3</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: #8b0000;">&quot;</span><span style="color: Red;">})(?=</span><span style="color: Navy;">\\</span><span style="color: Red;">d{3})</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</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: Blue;">delimiter</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">/</span><span style="color: Red;">(\d{3})(?=\d)</span><span style="color: #8b0000;">/g</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: Blue;">delimiter</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>这个正则值得收藏，颇为经典。</p>
<h5>向firebug的控制面板发送消息</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;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">fn</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">msg</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: Blue;">console</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">%s: %o</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">msg</span><span style="color: Gray;">, </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; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">this</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#some_div</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</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.source &gt; input:checkbox</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">sources to uncheck</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">removeAttr</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">checked</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h5>获取图片的宽高</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;">img</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#imageid</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">theImage</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Teal;">Image</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">theImage</span><span style="color: Gray;">.</span><span style="color: Blue;">src</span><span style="color: Gray;"> = </span><span style="color: Blue;">img</span><span style="color: Gray;">.</span><span style="color: Blue;">attr</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">src</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Width: </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> + </span><span style="color: Blue;">theImage</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: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Height: </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> + </span><span style="color: Blue;">theImage</span><span style="color: Gray;">.</span><span style="color: Blue;">height</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2836/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>实用jquery代码片段集合（上）</title>
		<link>http://www.36ria.com/2833</link>
		<comments>http://www.36ria.com/2833#comments</comments>
		<pubDate>Wed, 28 Jul 2010 08:47:53 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery代码片段]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2833</guid>
		<description><![CDATA[加载google的jquery库 &#60;script type=&#34;text/javascript&#34; src=&#34;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&#34;&#62;&#60;/script&#62; 有利于加快加载速度（已经得到验证）。 修改图片src更新图片 $(imageobj).attr('src', $(imageobj).attr('src') + '?' + Math.random() ); （这是很实用的技巧，曾经有人问明河，为什么他已经修改了图片的src，但图片没变化呢？原因在于缓存，给图片路径后加个随机数......]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.36ria.com/wp-content/uploads/2010/07/jquery-snippets-1.png" alt="" title="jquery-snippets-1" width="600" height="240" class="alignleft size-full wp-image-2834" /></p>
<h5>加载google的jquery库</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;">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.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>
<h5>修改图片src更新图片</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: Blue;">imageobj</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;">src</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, $</span><span style="color: Olive;">(</span><span style="color: Blue;">imageobj</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;">src</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;">?</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">random</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>（这是很实用的技巧，曾经有人问明河，为什么他已经修改了图片的src，但图片没变化呢？原因在于缓存，给图片路径后加个随机数参数即可。</p>
<h5>加载多张图片，判断加载完成状态</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;">totalimages</span><span style="color: Gray;">&nbsp; = </span><span style="color: Maroon;">10</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">loadedimages</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;img/&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">load</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; ++</span><span style="color: Blue;">loadedimages</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">loadedimages</span><span style="color: Gray;"> == </span><span style="color: Blue;">totalimages</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//全部图片加载完成时.....&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>双击不选中文本</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;">clearSelection</span><span style="color: Gray;"> =&nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">selection</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">selection</span><span style="color: Gray;">.</span><span style="color: Blue;">empty</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">selection</span><span style="color: Gray;">.</span><span style="color: Blue;">empty</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &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: Olive;">(</span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">getSelection</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">sel</span><span style="color: Gray;"> = </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">getSelection</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">sel</span><span style="color: Gray;">.</span><span style="color: Blue;">removeAllRanges</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: Blue;">element</span><span style="color: Olive;">)</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;">dblclick</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;">event</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">clearSelection</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>对一个列表进行排序</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;">ul</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">cloud</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;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">sun</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;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">rain</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;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">snow</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: Olive;">&lt;/</span><span style="color: Green;">ul</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;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">items</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.to_order li</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">items</span><span style="color: Gray;">.</span><span style="color: Blue;">sort</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">a</span><span style="color: Gray;">,</span><span style="color: Blue;">b</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">keyA</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: Blue;">a</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">keyB</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: Blue;">b</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">keyA</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">keyB</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> -</span><span style="color: Maroon;">1</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">keyA</span><span style="color: Gray;"> &gt; </span><span style="color: Blue;">keyB</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Maroon;">1</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">ul</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.to_order</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;"> $.</span><span style="color: Blue;">each</span><span style="color: Olive;">(</span><span style="color: Blue;">items</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: Gray;">, </span><span style="color: Blue;">li</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">ul</span><span style="color: Gray;">.</span><span style="color: Blue;">append</span><span style="color: Olive;">(</span><span style="color: Blue;">li</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>（中文无效）</p>
<h5>绑定右击事件</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: 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><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; $</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;">bind</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">contextmenu</span><span style="color: #8b0000;">&quot;</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;">&nbsp; </span></li>
<li><span style="color: Gray;">&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;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>扩展jquery的对象选择器</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: Gray;">$.</span><span style="color: Blue;">extend</span><span style="color: Olive;">(</span><span style="color: Gray;">$.</span><span style="color: Blue;">expr</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><span style="color: Olive;">{</span><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: Blue;">moreThanAThousand</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: Blue;">a</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">parseInt</span><span style="color: Olive;">(</span><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: Blue;">a</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: Gray;"> &gt; </span><span style="color: Maroon;">1000</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;&nbsp; </span></li>
<li><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><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">td:moreThanAThousand</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;">background-color</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">#ff0000</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>检查对象是否存在</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;">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: #8b0000;">&quot;</span><span style="color: Red;">#elementid</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">//...... </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">}</span></li></ol></div>
<h5>取消一个ajax请求</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;">req</span><span style="color: Gray;"> = $.</span><span style="color: Blue;">ajax</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">type</span><span style="color: Gray;">:&nbsp; &nbsp;&nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">POST</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">url</span><span style="color: Gray;">:&nbsp; &nbsp;&nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">someurl</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">data</span><span style="color: Gray;">:&nbsp; &nbsp;&nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">id=1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">success</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;">//取消ajax请求&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">req</span><span style="color: Gray;">.</span><span style="color: Blue;">abort</span><span style="color: Olive;">()</span></li></ol></div>
<h5>检查cookies是否可用</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: 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><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dt</span><span style="color: Gray;"> = </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;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">dt</span><span style="color: Gray;">.</span><span style="color: Blue;">setSeconds</span><span style="color: Olive;">(</span><span style="color: Blue;">dt</span><span style="color: Gray;">.</span><span style="color: Blue;">getSeconds</span><span style="color: Olive;">()</span><span style="color: Gray;"> + </span><span style="color: Maroon;">60</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">cookietest=1; expires=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> + </span><span style="color: Blue;">dt</span><span style="color: Gray;">.</span><span style="color: Blue;">toGMTString</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">cookiesEnabled</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">.</span><span style="color: Blue;">indexOf</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">cookietest=</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> != -</span><span style="color: Maroon;">1</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">cookiesEnabled</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">//cookies不能用........&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>获取当前元素在元素集内的索引值</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ul &gt; li</span><span style="color: #8b0000;">&quot;</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: Gray;"> </span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">index</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><span style="color: Blue;">prevAll</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>如果你用的是jquery1.4，明河推荐使用以下方法：</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;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ul &gt; li</span><span style="color: #8b0000;">&quot;</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: Gray;"> </span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">index</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><span style="color: Blue;">index</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h5>让一个元素相对于屏幕居中</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;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">fn</span><span style="color: Gray;">.</span><span style="color: Blue;">center</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">position</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">absolute</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">top</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Olive;">(</span><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: Teal;">window</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">height</span><span style="color: Olive;">()</span><span style="color: Gray;"> - </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">height</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #8b0000;">/</span><span style="color: Red;"> 2+$(window).scrollTop() + &quot;px&quot;);&nbsp; </span></li>
<li><span style="color: Red;">&nbsp; &nbsp;&nbsp; this.css(&quot;left&quot;, ( $(window).width() - this.width() ) </span><span style="color: #8b0000;">/</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">2</span><span style="color: Gray;">+$</span><span style="color: Olive;">(</span><span style="color: Teal;">window</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">scrollLeft</span><span style="color: Olive;">()</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">px</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">this</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;&nbsp; </span></li>
<li><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: Blue;">element</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">center</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li></ol></div>
<p>这个方法非常实用，明河严重推荐收藏</p>
<h5>获取当前页面的URL</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: 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><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">pathname</span><span style="color: Gray;"> = </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">location</span><span style="color: Gray;">.</span><span style="color: Blue;">pathname</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>原文：<a href="http://tympanus.net/codrops/2010/01/05/some-useful-javascript-jquery-snippets/">http://tympanus.net/codrops/2010/01/05/some-useful-javascript-jquery-snippets/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2833/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jquery插件开发规范—jquery插件开发进阶教程（1）</title>
		<link>http://www.36ria.com/2822</link>
		<comments>http://www.36ria.com/2822#comments</comments>
		<pubDate>Tue, 27 Jul 2010 02:28:16 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery插件教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2822</guid>
		<description><![CDATA[在明河真正讲解jquery插件开发进阶教程前，明河觉得很有必要先来说明下jquery插件开发规范，这些规范是明河学习jquery时不断积累下来的，不一定完全正确，甚至于你在开始编写第一个jquery插件时，觉得这些规范毫无意义。如果你有一天编写jquery时突然发现这些规范很有用处，恭喜你，你的水平上升了一个层次！ 一、请给你的代码加上注释 明河以前很不喜欢加注释，嫌太麻......]]></description>
			<content:encoded><![CDATA[<p>在明河真正讲解jquery插件开发进阶教程前，明河觉得很有必要先来说明下<strong>jquery插件开发规范</strong>，这些规范是明河学习jquery时不断积累下来的，不一定完全正确，甚至于你在开始编写第一个jquery插件时，觉得这些规范毫无意义。如果你有一天编写jquery时突然发现这些规范很有用处，恭喜你，你的水平上升了一个层次！<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/07/jquery-1.png" alt="" title="jquery-1" width="500" height="200" class="alignleft size-full wp-image-2823" /></p>
<h2>一、请给你的代码加上注释</h2>
<p>明河以前很不喜欢加注释，嫌太麻烦了，这是个非常糟糕的习惯，幸运的是现在明河已经改正了这个不良习惯。</p>
<p>这个世界不存在百分百的完美的jquery插件，注释不止是给别人看、更重要的是给自己看。</p>
<p>你应该把注释当做你代码的一部分，养成随手加注释的习惯，尤其是编写javascript的时候。</p>
<h4>1、在全部代码前加上文件说明注释</h4>
<p>以下是明河给自己写的yitip插件加的注释：</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;"> * $.yitip</span></li>
<li><span style="color: #ffa500;"> * @extends jquery.1.4.2</span></li>
<li><span style="color: #ffa500;"> * @fileOverview 创建文字提示框</span></li>
<li><span style="color: #ffa500;"> * @author 明河共影</span></li>
<li><span style="color: #ffa500;"> * @email </span><span style="color: Blue;">mohaiguyan12@126.com</span></li>
<li><span style="color: #ffa500;"> * @site wwww.36ria.com</span></li>
<li><span style="color: #ffa500;"> * @version 0.1</span></li>
<li><span style="color: #ffa500;"> * @date 2010-07-17</span></li>
<li><span style="color: #ffa500;"> * Copyright (c) 2010-2010 明河共影</span></li>
<li><span style="color: #ffa500;"> * @example</span></li>
<li><span style="color: #ffa500;"> *&nbsp; &nbsp; $(&quot;a&quot;).yitip();</span></li>
<li><span style="color: #ffa500;"> */</span></li>
<li><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Gray;">$</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">.......</span></li>
<li><span style="color: Olive;">})(</span><span style="color: Blue;">jQuery</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>这是jsdoc的写法，什么是jsdoc？请<a href="http://jsdoc.sourceforge.net/">点此</a>。jsdoc简单点来说是一种javascript文档工具，使用方法可以<a href="http://wenku.baidu.com/view/34c3f11755270722192ef7c2.html">点此</a>。现在对jsdoc不理解没关系，你只要创建明河上述类似的说明文档即可。jsdoc的命令请<a href="http://robinqu.javaeye.com/blog/443435">点此</a>查看。</p>
<h4>2、函数务必加注释</h4>
<p>比如以下代码是yijs.Yitip一个方法setContent：</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;">yijs</span><span style="color: Gray;">.</span><span style="color: Blue;">Yitip</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; </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; * @param {Object | String} content 内容</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;">setContent</span><span style="color: Gray;"> : </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">content</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>依旧遵循jsdoc规范，而不是匆匆加上“//”了事，关于jsdoc，有机会明河会详细讲解。</p>
<h4>3、参数务必加注释</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: #ffa500;">//默认参数</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $.</span><span style="color: Blue;">fn</span><span style="color: Gray;">.</span><span style="color: Blue;">yitip</span><span style="color: Gray;">.</span><span style="color: Blue;">defaults</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;">applyTo</span><span style="color: Gray;"> : </span><span style="color: Green;">null</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;">content</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;&quot;</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;">position</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">topMiddle</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: #ffa500;">/**提示框位置偏移*/</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">offest</span><span style="color: Gray;"> : </span><span style="color: Olive;">{</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">left</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">:</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">top</span><span style="color: #8b0000;">&quot;</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; </span><span style="color: #ffa500;">/**提示框颜色*/</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">color</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">yellow</span><span style="color: #8b0000;">&quot;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<h4>4、函数体内关键代码前加注释</h4>
<h2>二、javascript变量规范</h2>
<p>在javascript世界中，没有真正意义的共有变量、私有变量、常量等概念，当你的javascript代码达到一定数量级时，过段时间你回头看自己的代码，都会把自己搞晕。</p>
<h4>1、请在私有变量前加“_”</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;">_pos</span><span style="color: Gray;"> = </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">pos</span><span style="color: Gray;">;</span></li></ol></div>
<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: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">DATA_COLOR</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></li></ol></div>
<h4>3、jquery对象变量前加“$”</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;">this</span><span style="color: Gray;">.$</span><span style="color: Blue;">applyTo</span><span style="color: Gray;">&nbsp; = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">.yitip</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>4、object、array变量前加“o”、“a”</h4>
<p>很多人喜欢给数组变量加个”s”，这也是可以的，按个人习惯，如果你觉得有必要还可以给函数前加个“fn”。</p>
<h2>三、jquery插件开发的一些建议</h2>
<h5>1、请多使用data()方法</h5>
<p>jquery中data()方法非常有用，尤其在jquery插件开发中，因为data()所创建的缓存，可以完整的保存各种数据类型的数据，这是其他缓存机制无法比拟的。</p>
<h5>2、请使用bind来绑定事件</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">.yitip</span><span style="color: #8b0000;">&quot;</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">})</span></li></ol></div>
<p>但在jquery插件开发中明河更提倡使用bind：</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;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">.yitip</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</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;">click</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; .........</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Olive;">})</span></li></ol></div>
<p>以后的教程中明河会予以解释。</p>
<h5>3、善用typeof</h5>
<p>typeof用于判断数据类型，这个方法在参数判断中非常有用处</p>
<h5>4、插件名加个独有前缀</h5>
<p>jquery插件成千上万，插件撞车时很容易的事，比如提示框插件：</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;">$.</span><span style="color: Blue;">fn</span><span style="color: Gray;">.</span><span style="color: Blue;">tip</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">options</span><span style="color: Olive;">){</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>但tip的冲突率无疑很高，所以明河加个“yi”前缀，如果你有在网上看到以yi做前缀的插件，那估计就是明河写的，呵呵。</p>
<h2>四、其他规范</h2>
<h5>1、设置版本号</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: Gray;">$.</span><span style="color: Blue;">fn</span><span style="color: Gray;">.</span><span style="color: Blue;">yitip</span><span style="color: Gray;">.</span><span style="color: Blue;">version</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0.1</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: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;"> * $.yitip</span></li>
<li><span style="color: #ffa500;"> * @version 0.1</span></li>
<li><span style="color: #ffa500;"> */</span></li></ol></div>
<p>明河喜欢以0.1起始，然后把正式版的插件设置为1.0</p>
<h5>2、将插件代码托管到网上</h5>
<p>可以去<a href="https://sourceforge.net/">sourceforge</a>注册个账号，新建个开源项目，将代码托管上去，如果你不喜欢sourceforge，可以使用google的代码托管，可以看明河曾发表过的<a href="http://www.36ria.com/1192">使用Google Code托管代码教程</a>。有机会发篇教程讲述如何在sourceforge上托管代码。</p>
<p>（欢迎指正和补充）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2822/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Colortip的缺陷—jquery插件实战教程（完结篇）</title>
		<link>http://www.36ria.com/2818</link>
		<comments>http://www.36ria.com/2818#comments</comments>
		<pubDate>Mon, 26 Jul 2010 02:42:17 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery插件教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2818</guid>
		<description><![CDATA[jquery插件实战教程，明河已经发了四篇教程： 制作jquery文字提示插件—jquery插件实战教程（1） jquery插件基础解析—jquery插件实战教程（2） Colortip难点解析—jquery插件实战教程（3） Colortip代码实现—jquery插件实战教程（4） 今天这篇教程将是这个系列教程的完结篇，明河主要讲解Colortip这个jquery提示框插件的缺陷，既然有缺陷，当然明河会提供相应的解决方案，所以这篇教程......]]></description>
			<content:encoded><![CDATA[<p>jquery插件实战教程，明河已经发了四篇教程：</p>
<ul>
<li><a href="http://www.36ria.com/2765" target="_blank">制作jquery文字提示插件—jquery插件实战教程（1）</a></li>
<li><a href="http://www.36ria.com/2768" target="_blank">jquery插件基础解析—jquery插件实战教程（2）</a></li>
<li><a href="http://www.36ria.com/2776" target="_blank">Colortip难点解析—jquery插件实战教程（3）</a></li>
<li><a href="http://www.36ria.com/2808" target="_blank">Colortip代码实现—jquery插件实战教程（4）</a></li>
</ul>
<p>今天这篇教程将是这个系列教程的完结篇，明河主要讲解Colortip这个jquery提示框插件的缺陷，既然有缺陷，当然明河会提供相应的解决方案，所以这篇教程既是完结篇，又是下一个jquery插件进阶教程的引子。<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/07/colortips2.png" alt="" title="colortips2" width="300" height="140" class="alignleft size-full wp-image-2820" /><br />
整个系列教程，最重要的是第二篇教程：<a href="http://www.36ria.com/2768" target="_blank">jquery插件基础解析—jquery插件实战教程（2）</a>，所以如果你想学jquery插件制作，这篇教程尽量把它看懂，至于其他篇教程，看不懂，不影响你实际演练。</p>
<h2>Colortip的缺陷</h2>
<p>这个世上没有百分百完美的人，同样也没有百分百完美的程序，<a href="http://tutorialzine.com/category/tutorials/">Tutorials</a>无疑是个优秀的前端工程师，但Colortip一样有缺陷。</p>
<h4>一、Colortip的bug</h4>
<p>根据明河的测试，Colortip在IE6下存在2个bug：</p>
<h5>1、IE6下，倒三角部分高度失效，出现难看的背景颜色：（请看下图的高亮部分）</h5>
<p><img src="http://www.36ria.com/wp-content/uploads/2010/07/Colortip.png" alt="" title="Colortip" width="209" height="50" class="alignleft size-full wp-image-2819" /><br />
明河说明：其实这个是IE6常见的一个bug，就是一个层，无端出现12px的高度，当你所设置的高度小于12px时都无效。解决方法很简单，给这个层加上overflow:hidden;</p>
<h5>2、IE6下，提示框位置错误，提示框不是相对于目标容器居中显示，而是变成靠右显示</h5>
<h4>二、Colortip的先天缺陷</h4>
<h5>1、将提示框添加到目标容器内部</h5>
<p>Tutorials的思路是把提示框当做目标容器的子容器，当鼠标滑过目标容器时，显示子容器提示框，这个思路本身没错，但明河觉得考虑不足。当把提示框当做目标容器的子容器，也就是说提示框的样式将会继承于目标容器，而目标容器的样式你无法确定，这是一个样式继承的风险！</p>
<h5>2、提示框的内容无法修改，只针对带有title属性的目标元素</h5>
<p>Colortip只能处理一种情况，如果你想要在提示框中显示图片或者列表，Colortip就爱莫能助了。</p>
<h4>三、Colortip的功能缺陷</h4>
<p>请跟着明河思考以下问题：</p>
<ul>
<li>如果我想控制提示框的出现位置，该如何办？</li>
<li>有没有一种方法我可以控制提示框的内容？</li>
<li>我能不能自由的控制提示框的显示/隐藏？</li>
<li>显示/隐藏提示框的效果能不能自由控制？</li>
<li>我能不能在显示/隐藏提示框后干些其他事？</li>
</ul>
<p>你思考完这些问题，再回头看Colortip，你会发现，很遗憾，Colortip明显无法满足我们的要求。<br />
所以明河依照Colortip的原理，写了个新的jquery提示框插件，明河将其命名为：<strong>yitip</strong>，而yitip，恰恰能解决以上问题。</p>
<h4>四、jquery插件基础模板的缺陷</h4>
<p>先来回忆下jquery插件基础模板：</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;">(</span><span style="color: Green;">function</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: Blue;">fn</span><span style="color: Gray;">.插件名 = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">settings</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: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">defaultSettings</span><span style="color: Gray;"> = </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; </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;">/* 合并默认参数和用户自定义参数 */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">settings</span><span style="color: Gray;"> = $.</span><span style="color: Blue;">extend</span><span style="color: Olive;">({}</span><span style="color: Gray;">,</span><span style="color: Blue;">defaultSettings</span><span style="color: Gray;">,</span><span style="color: Blue;">settings</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;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">each</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; &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>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp;&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></li>
<li><span style="color: Olive;">})(</span><span style="color: Blue;">jQuery</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>（明河再次提醒：这个模板非常重要，请尽量看懂它。）<br />
Colortip的功能缺陷，实际上有很大原因是由于jquery插件基础模板的缺陷引起的。那么jquery插件基础模板的缺陷在哪呢？又是如何解决这些缺陷呢？请看下一个系列教程：<strong>jquery插件制作进阶教程</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2818/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>使用jquery制作仿Skype的动画按钮</title>
		<link>http://www.36ria.com/2058</link>
		<comments>http://www.36ria.com/2058#comments</comments>
		<pubDate>Fri, 21 May 2010 03:05:40 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery按钮动画]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2058</guid>
		<description><![CDATA[这个教程主要讲解如何jquery制作仿Skype的动画按钮。 制作过程 创建如下按钮链接： &#60;a class=&#34;button&#34; href=&#34;#&#34;&#62; &#160; &#160; &#60;img&#160;src=&#34;button.png&#34; alt=&#34;&#34; /&#62;Send info &#60;/a&#62; &#160; &#160; or &#60;a&#160;href=&#34;#&#34;&#62;cancel&#60;/a&#62; 给这个按钮链接，添加样式 .button { &#160; &#160; padding:&#160;4px 10px 3px 25px; &#160; &#160; border:&#160;solid 1px #8AB134; &#160; &#160; position:&#160;re......]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-2059" title="skype" src="http://www.36ria.com/wp-content/uploads/2010/05/skype.png" alt="" width="500" height="200" /><br />
这个教程主要讲解如何jquery制作仿Skype的动画按钮。<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/05/image.axd_.png" alt="" title="image.axd" width="185" height="41" class="alignnone size-full wp-image-2063" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.jankoatwarpspeed.com/examples/skype_buttons/"  target="_blank" class="btn-view-demo"></a></li>
<li class="l"><a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=159" title="名称：jquery-Skype-button，下载次数：128，文件大小：22.61 KB" class="btn-download">点此下载</a></li>
</ul>
<h2>制作过程</h2>
<h4>创建如下按钮链接：</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;">class</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: 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></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;">button.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;&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span><span style="color: Gray;">Send info</span></li>
<li><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; or </span><span style="color: Olive;">&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;">cancel</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h4>给这个按钮链接，添加样式</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;">.button</span><span style="color: Gray;"> </span><span style="color: Olive;">{</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;">4</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: Maroon;">3</span><span style="color: Red;">px</span><span style="color: Gray;"> </span><span style="color: Maroon;">25</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: Gray;">&nbsp;</span><span style="color: Red;">solid</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: #00008b;">#8AB134</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;">relative</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&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; </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; </span><span style="color: Green;">background-image:</span><span style="color: Gray;"> url( 'bkg.png' )</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;">repeat-x</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">font-size:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">11</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: Gray;">&nbsp;</span><span style="color: Maroon;">16</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-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;">color:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#40740D</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; -</span><span style="color: Green;">moz-border-radius-bottomleft:</span><span style="color: Gray;">&nbsp;</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; -</span><span style="color: Green;">moz-border-radius-bottomright:</span><span style="color: Gray;">&nbsp;</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; -</span><span style="color: Green;">moz-border-radius-topleft:</span><span style="color: Gray;">&nbsp;</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; -</span><span style="color: Green;">moz-border-radius-topright:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">5</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.button</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">img</span><span style="color: Gray;"> </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;">top:</span><span style="color: Gray;"> -</span><span style="color: Maroon;">4</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;"> -</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; </span><span style="color: Green;">border:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">none</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.button</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; </span><span style="color: Green;">color:</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">#8AB134</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>这里用到了css3的圆角属性，在IE下无法正常显示圆角，而且使用的是png，IE6下需要自行修正。<br />
按钮链接内的修饰图标使用绝对定位。</p>
<h4>动画关键脚本：</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;">.button</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">hover</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: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">.button img</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">top</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-10px</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">200</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">top</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-4px</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">200</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">top</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-7px</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">100</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">top</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-4px</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">100</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">top</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-6px</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">100</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">top</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-4px</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">100</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></ol></div>
<p>改变钮链接内的修饰图标的top值，形成上下跳动的动画形式。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2058/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>使用jquery制作动感的鼠标滑过效果</title>
		<link>http://www.36ria.com/2021</link>
		<comments>http://www.36ria.com/2021#comments</comments>
		<pubDate>Tue, 18 May 2010 05:07:13 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery动画]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=2021</guid>
		<description><![CDATA[效果说明：鼠标滑过图标，图标向上移动，同时，底部的阴影开始变淡，鼠标移开图标，效果复位。 演示：http://www.36ria.com/demo/Realistic-Hover-Effect/ 制作过程 1、准备图标和底部阴影，示例包内已经包含了，可以参照着制作。 2、构建如下html代码：   &#60;ul id=&#34;nav-shadow&#34;&#62; &#160; &#160; &#160; &#160; &#60;li&#62;&#60;a&#160;href=&#34;#&#34; title=&#34;分享到嘀咕&#34;&#62;&#60;img src=&#34;images/digu.......]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-2022" title="Realistic-Hover-Effect" src="http://www.36ria.com/wp-content/uploads/2010/05/Realistic-Hover-Effect.png" alt="" width="484" height="235" /></p>
<p>效果说明：鼠标滑过图标，图标向上移动，同时，底部的阴影开始变淡，鼠标移开图标，效果复位。</p>
<p>演示：<a href="http://www.36ria.com/demo/Realistic-Hover-Effect/">http://www.36ria.com/demo/Realistic-Hover-Effect/</a></p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=158" title="名称：Realistic-Hover-Effect，下载次数：256，文件大小：75.9 KB" class="btn-download">点此下载</a>
<h2>制作过程</h2>
<h4>1、准备图标和底部阴影，示例包内已经包含了，可以参照着制作。</h4>
<h4>2、构建如下html代码：</h4>
<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;">ul</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;">nav-shadow</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;">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: Gray;"> </span><span style="color: #00008b;">title</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;&lt;</span><span style="color: Green;">img</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;">images/digu.png</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;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&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; </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: Gray;"> </span><span style="color: #00008b;">title</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;&lt;</span><span style="color: Green;">img</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;">images/sinaminiblog.png</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;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&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; </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: Gray;"> </span><span style="color: #00008b;">title</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;&lt;</span><span style="color: Green;">img</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;">images/zuosa.png</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;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&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; </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: Gray;"> </span><span style="color: #00008b;">title</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;&lt;</span><span style="color: Green;">img</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;">images/renjian.png</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;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&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><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&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: Gray;"> </span><span style="color: #00008b;">title</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">分享到gbuzz</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">img</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;">images/gbuzz.png</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;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&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><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&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: Gray;"> </span><span style="color: #00008b;">title</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;&lt;</span><span style="color: Green;">img</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;">images/xianguo.png</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;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&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><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&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: Gray;"> </span><span style="color: #00008b;">title</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">分享到9dian</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">img</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;">images/9dian.png</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;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">64</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&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><span style="color: Gray;">&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;">ul</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>非常简单的列表结构。</p>
<h4>3、构建如下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;">#nav-shadow</span><span style="color: Gray;"> </span><span style="color: Olive;">{</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;">0</span><span style="color: Gray;"> </span><span style="color: Red;">auto</span><span style="color: Gray;"> </span><span style="color: Maroon;">50</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;">padding:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">50</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><span style="color: Maroon;">127</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: Gray;">&nbsp;</span><span style="color: Maroon;">650</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;">min-height:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">130</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:</span><span style="color: Gray;"> url(../images/page-shadow.jpg) </span><span style="color: Red;">top</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">center</span><span style="color: Gray;"> </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;">list-style:</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: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Blue;">#nav-shadow</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">margin-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;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">81</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: Gray;">&nbsp;</span><span style="color: Maroon;">76</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;">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;">float:</span><span style="color: Gray;">&nbsp;</span><span style="color: Red;">left</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: Blue;">#nav-shadow</span><span style="color: Gray;">&nbsp;</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;">margin:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</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;">width:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">64</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: Gray;">&nbsp;</span><span style="color: Maroon;">64</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-indent:</span><span style="color: Gray;"> -</span><span style="color: Maroon;">9999</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: Gray;">&nbsp;</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;">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;">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: 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: Olive;">}</span></li>
<li><span style="color: Blue;">#nav-shadow</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">a</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: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><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: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">#nav-shadow</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">li</span><span style="color: Gray;"> </span><span style="color: Blue;">img.shadow</span><span style="color: Gray;"> </span><span style="color: Olive;">{</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;">0</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;">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: 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: 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;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<h4>4、编写javascript脚本：</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><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">//给每个li添加阴影图片</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#nav-shadow li</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">append</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;img class=&quot;shadow&quot; src=&quot;images/icons-shadow.jpg&quot; width=&quot;81&quot; height=&quot;27&quot; alt=&quot;&quot; /&gt;</span><span style="color: #8b0000;">'</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; </span><span style="color: #ffa500;">// 鼠标滑过按钮，动画开始</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#nav-shadow li</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">hover</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">()</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;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">e</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: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">marginTop</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-14px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</span><span style="color: Gray;">, </span><span style="color: Green;">function</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: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">marginTop</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-10px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</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><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img.shadow</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">width</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">80%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">height</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">20px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">marginLeft</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">8px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">opacity</span><span style="color: Gray;">: </span><span style="color: Maroon;">0.25</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</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><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: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">e</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: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">marginTop</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">4px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</span><span style="color: Gray;">, </span><span style="color: Green;">function</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: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">marginTop</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</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><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img.shadow</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">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: Blue;">height</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">27px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">marginLeft</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">opacity</span><span style="color: Gray;">: </span><span style="color: Maroon;">1</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</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: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>脚本不复杂，这效果还是很不错的。<br />
效果要领说明：</p>
<ul>
<li>让图标产生位移，这里使用负外边距</li>
<li>改变阴影图片的宽度、高度、外边距还有透明度</li>
</ul>
<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;">e</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: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">marginTop</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-14px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</span><span style="color: Gray;">, </span><span style="color: Green;">function</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: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">marginTop</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-10px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</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><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">img.shadow</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">width</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">80%</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">height</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">20px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">marginLeft</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">8px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">opacity</span><span style="color: Gray;">: </span><span style="color: Maroon;">0.25</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Maroon;">250</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>记得这里的stop()必不可少哦，不然动画会有bug，关于这个问题可以详见，我以前写的文章：<br />
<a href="http://www.36ria.com/1487">hoverFlow —终止jquery的animation</a></p>
<p>blog正缺少分享按钮列表，这几天整成个jquery插件发布出去。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/2021/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>php+jquery实现ajax星级评价教程</title>
		<link>http://www.36ria.com/1890</link>
		<comments>http://www.36ria.com/1890#comments</comments>
		<pubDate>Mon, 26 Apr 2010 08:31:51 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery实战]]></category>
		<category><![CDATA[星级评价]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=1890</guid>
		<description><![CDATA[web2.0的站点和博客很多都开始启用星级评价，可以达到和读者互动的目的，增加用户体验，这个教程主要是讲解如何使用php+jquery实现ajax星级评价。 demo：http://demo.tutorialzine.com/2009/11/fancy-quotes/demo.php   这个demo实现的功能如下： 右侧文章列表，随鼠标而滚动。 点击文章列表中的文章，切换左侧内容。 鼠标滑过左侧内容出现投票框。 ajax提交评级。 提交过不允许重复评级。 1、......]]></description>
			<content:encoded><![CDATA[<p>web2.0的站点和博客很多都开始启用星级评价，可以达到和读者互动的目的，增加用户体验，这个教程主要是讲解如何使用php+jquery实现ajax星级评价。</p>
<p><img class="alignnone size-full wp-image-1891" title="rate" src="http://www.36ria.com/wp-content/uploads/2010/04/rate.png" alt="" width="504" height="220" /></p>
<p>demo：<a href="http://demo.tutorialzine.com/2009/11/fancy-quotes/demo.php">http://demo.tutorialzine.com/2009/11/fancy-quotes/demo.php</a></p>
<p> <a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=153" title="名称：php+jquery实现ajax星级评价，下载次数：206，文件大小：40.25 KB" class="btn-download">点此下载</a></p>
<p>这个demo实现的功能如下：</p>
<ol>
<li>右侧文章列表，随鼠标而滚动。</li>
<li>点击文章列表中的文章，切换左侧内容。</li>
<li>鼠标滑过左侧内容出现投票框。</li>
<li>ajax提交评级。</li>
<li>提交过不允许重复评级。</li>
</ol>
<h4>1、数据库配置</h4>
<p>在demo包里面有个tables.sql，导入数据库中。</p>
<p>有二张表：</p>
<p>quotes为文章表</p>
<p>quotes_votes评级表</p>
<p>修改connect.php中的数据库连接配置：</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: #00008b;">$db_host</span><span style="color: Gray;">  = </span><span style="color: #8b0000;">'</span><span style="color: Red;">localhost</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: #00008b;">$db_user</span><span style="color: Gray;">  = </span><span style="color: #8b0000;">'</span><span style="color: Red;">root</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: #00008b;">$db_pass</span><span style="color: Gray;">  = </span><span style="color: #8b0000;">'</span><span style="color: Red;">123</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: #00008b;">$db_database</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">rate</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>根据你机子的情况而修改。</p>
<p>如果一切顺利的话，运行demo.php即可正常看到demo了。</p>
<h4>2、用到的jquery以及jquery的UI、插件</h4>
<ol>
<li>jquery1.3.2</li>
<li>jquery-ui1.7</li>
<li>ui.stars  星级评价UI插件</li>
<li>jquery.qtip-1.0.0 提示层插件</li>
</ol>
<h4>3、生成文章列表</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: #00008b;">$result</span><span style="color: Gray;"> = </span><span style="color: Blue;">mysql_query</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">SELECT q.*, IF(v.id,1,0) AS voted</span></li>
<li><span style="color: Red;">FROM quotes AS q</span></li>
<li><span style="color: Red;">LEFT JOIN quotes_votes AS v</span></li>
<li><span style="color: Red;">ON  q.id = v.qid</span></li>
<li><span style="color: Red;"> AND v.ip =</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$ip</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span></li>
<li><span style="color: Red;"> AND v.date_submit = '</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$today</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'</span></li>
<li><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>生成投票列表字符串变量$str</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;">while</span><span style="color: Olive;">(</span><span style="color: #00008b;">$row</span><span style="color: Gray;">=</span><span style="color: Blue;">mysql_fetch_assoc</span><span style="color: Olive;">(</span><span style="color: #00008b;">$result</span><span style="color: Olive;">))</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;"> </span><span style="color: #ffa500;">// Looping through all the quotes and generating the list on the right of the page:</span></li>
<li><span style="color: Gray;"> </span></li>
<li><span style="color: Gray;"> </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.= </span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;lt;div id=&quot;q-</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$i</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&quot;&amp;gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$row</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">txt</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">20</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span></li>
<li><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;lt;span&amp;gt;...&amp;lt;/span&amp;gt;&amp;lt;div id=&quot;rating-</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$i</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&quot;&amp;gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;"> </span></li>
<li><span style="color: Gray;"> </span><span style="color: #00008b;">$row</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">rating</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> = </span><span style="color: Blue;">round</span><span style="color: Olive;">(</span><span style="color: #00008b;">$row</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">rating</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;"> </span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: #00008b;">$z</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: #00008b;">$z</span><span style="color: Gray;">&amp;</span><span style="color: Blue;">lt</span><span style="color: Gray;">;</span><span style="color: Maroon;">5</span><span style="color: Gray;">;</span><span style="color: #00008b;">$z</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">  </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;lt;input type=&quot;radio&quot; name=&quot;rate-</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$i</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&quot; value=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Olive;">(</span><span style="color: #00008b;">$z</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: #8b0000;">'</span><span style="color: Red;">&quot; </span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Olive;">(</span><span style="color: #00008b;">$z</span><span style="color: Gray;">+</span><span style="color: Maroon;">1</span><span style="color: Gray;">==</span><span style="color: #00008b;">$row</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">rating</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;">checked=&quot;checked&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">:</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;"> disabled=&quot;disabled&quot; /&amp;gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;"> </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;"> </span><span style="color: #00008b;">$str</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;"> </span></li>
<li><span style="color: Gray;"> </span><span style="color: #ffa500;">// Each quote calls the fillData JS function</span></li>
<li><span style="color: Gray;"> </span><span style="color: #00008b;">$script</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">fillData(</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: Blue;">formatJSON</span><span style="color: Olive;">(</span><span style="color: #00008b;">$row</span><span style="color: Olive;">)</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: Gray;">.</span><span style="color: Blue;">PHP_EOL</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;"> </span></li>
<li><span style="color: Gray;"> </span><span style="color: #00008b;">$i</span><span style="color: Gray;">++;</span></li>
<li><span style="color: Olive;">}</span></li>
</ol></div>
<p><img class="alignnone size-full wp-image-1893" title="rate2" src="http://www.36ria.com/wp-content/uploads/2010/04/rate2.png" alt="" width="104" height="33" /></p>
<p>这种星级样式是jquery的ui.stars转换的，php只要生成5个单选框即可，单选框的值从1-5，当然要读下数据库中的rating字段的值，然后判定该选中哪个单选框。</p>
<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: #00008b;">$script</span><span style="color: Gray;">.=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">fillData(</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: Blue;">formatJSON</span><span style="color: Olive;">(</span><span style="color: #00008b;">$row</span><span style="color: Olive;">)</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: Gray;">.</span><span style="color: Blue;">PHP_EOL</span><span style="color: Gray;">;</span></li>
</ol></div>
<p> formatJSON（）这个php函数在function.php中，将结果集转成json。</p>
<p>fillData()是javascript函数，在script.js中，将json数据保存到数组。（这些数据在进行ajax提交评级数据的时候要用到）</p>
<h4>4、将单选框转成评级UI</h4>
<p>代码在script.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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">.star-rating</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stars</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li></ol></div>
<p> 关于ui.stars的配置请详见我以前写的教程：</p>
<p><a href="http://www.36ria.com/1310">http://www.36ria.com/1310</a></p>
<p><img class="alignnone size-full wp-image-1894" title="rate3" src="http://www.36ria.com/wp-content/uploads/2010/04/rate3.png" alt="" width="251" height="374" /></p>
<p>到此如图部分创建结束</p>
<h4>5、给列表的文章添加单击事件，切换左侧内容</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;">.thumb</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><span style="color: Blue;">e</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">  </span><span style="color: #ffa500;">/* 点击文章 */</span></li>
<li><span style="color: Gray;">  </span></li>
<li><span style="color: Gray;">  </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> = </span><span style="color: Blue;">quotes</span><span style="color: Olive;">[</span><span style="color: Blue;">parseInt</span><span style="color: Olive;">(</span><span style="color: Blue;">e</span><span style="color: Gray;">.</span><span style="color: Blue;">target</span><span style="color: Gray;">.</span><span style="color: Blue;">id</span><span style="color: Gray;">.</span><span style="color: Blue;">replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">q-</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">''</span><span style="color: Olive;">))</span><span style="color: Gray;">-</span><span style="color: Maroon;">1</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">  </span><span style="color: #ffa500;">/* 获取该文章的在数据库中的数据，这里要把id过滤下，因为层的id有个'q-'前缀 */</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">  $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#quote-content</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;">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;">   </span><span style="color: #ffa500;">/* 动画隐藏内容层后触发的回调函数 */</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">   </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">obj</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: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">   </span><span style="color: #ffa500;">/* 替换标题和作者信息 */</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><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><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">h1</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: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">txt</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><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><span style="color: Blue;">find</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">span</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: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">author</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">   </span></li>
<li><span style="color: Gray;">   </span><span style="color: #ffa500;">/* 改变页面背景颜色 */</span></li>
<li><span style="color: Gray;">   </span></li>
<li><span style="color: Gray;">   </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">bgc</span><span style="color: Olive;">)</span><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">body</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">backgroundColor</span><span style="color: Gray;">:</span><span style="color: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">bgc</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></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">   </span><span style="color: #ffa500;">/* 产生一个自动提示层和用于评级的5个单选框 */</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">   </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">tmpstr</span><span style="color: Gray;">=</span><span style="color: #8b0000;">''</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">   </span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">z</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Blue;">z</span><span style="color: Gray;">&amp;</span><span style="color: Blue;">lt</span><span style="color: Gray;">;</span><span style="color: Maroon;">5</span><span style="color: Gray;">;</span><span style="color: Blue;">z</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">   </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">tmpstr</span><span style="color: Gray;">+=</span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;lt;input type=&quot;radio&quot; name=&quot;voteQ&quot; value=&quot;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span><span style="color: Olive;">(</span><span style="color: Blue;">z</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: #8b0000;">'</span><span style="color: Red;">&quot; </span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">    </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">z</span><span style="color: Gray;">+</span><span style="color: Maroon;">1</span><span style="color: Gray;">==</span><span style="color: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">rating</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">tmpstr</span><span style="color: Gray;">+=</span><span style="color: #8b0000;">'</span><span style="color: Red;">checked=checked </span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">    </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">parseInt</span><span style="color: Olive;">(</span><span style="color: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">voted</span><span style="color: Olive;">))</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">tmpstr</span><span style="color: Gray;">+=</span><span style="color: #8b0000;">'</span><span style="color: Red;">disabled=&quot;disabled&quot; </span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">    </span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">tmpstr</span><span style="color: Gray;">+=</span><span style="color: #8b0000;">'</span><span style="color: Red;">/&amp;gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">   </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">   </span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">tmpstr</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;lt;div id=&quot;voteRating&quot;&amp;gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span><span style="color: Blue;">tmpstr</span><span style="color: Gray;">+</span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;lt;/div&amp;gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">   </span></li>
<li><span style="color: Gray;">   </span><span style="color: #ffa500;">/* 更新提示层的内容 */</span></li>
<li><span style="color: Gray;">   $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#box</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">qtip</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">api</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">updateContent</span><span style="color: Olive;">(</span><span style="color: Blue;">tmpstr</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">            </span><span style="color: #ffa500;">/* 将单选框转成评级UI */</span></li>
<li><span style="color: Gray;">   $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#voteRating</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stars</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">cancelShow</span><span style="color: Gray;">: </span><span style="color: Green;">false</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">oneVoteOnly</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">callback</span><span style="color: Gray;">:</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">ui</span><span style="color: Gray;">, </span><span style="color: Blue;">type</span><span style="color: Gray;">, </span><span style="color: Blue;">value</span><span style="color: Olive;">){</span><span style="color: Blue;">vote</span><span style="color: Olive;">(</span><span style="color: Blue;">obj</span><span style="color: Gray;">,</span><span style="color: Blue;">value</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">   </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;">   </span><span style="color: Blue;">Cufon</span><span style="color: Gray;">.</span><span style="color: Blue;">refresh</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;">   </span><span style="color: #ffa500;">/* 显示内容层 */</span></li>
<li><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><span style="color: Blue;">fadeIn</span><span style="color: Olive;">(</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;">  </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;"> </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>加了中文注释，就不再一一解释了，要留意的有二处地方：</p>
<p> 1、</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;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#box</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">qtip</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">api</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">updateContent</span><span style="color: Olive;">(</span><span style="color: Blue;">tmpstr</span><span style="color: Olive;">)</span></li></ol></div>
<p> updateContent是$.qtip()的方法用于更新提示层的内容</p>
<p>2、</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;">   $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#voteRating</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stars</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">cancelShow</span><span style="color: Gray;">: </span><span style="color: Green;">false</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">oneVoteOnly</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">callback</span><span style="color: Gray;">:</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">ui</span><span style="color: Gray;">, </span><span style="color: Blue;">type</span><span style="color: Gray;">, </span><span style="color: Blue;">value</span><span style="color: Olive;">){</span><span style="color: Blue;">vote</span><span style="color: Olive;">(</span><span style="color: Blue;">obj</span><span style="color: Gray;">,</span><span style="color: Blue;">value</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">   </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>这里的的评级UI多了几个参数：</p>
<p>oneVoteOnly: true，允许投票</p>
<p>callback:function(){}，投票后的回调函数。（ajax提交评级）</p>
<h4>6、创建提示层</h4>
<p>关于qtip的配置问题，不在这里讨论，有机会会专门发篇教程。</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;"> $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#box</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">qtip</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">  </span><span style="color: Blue;">content</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">text</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">This is an active list element</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">title</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">text</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">Vote for this quote</span><span style="color: #8b0000;">'</span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">prerender</span><span style="color: Gray;">:</span><span style="color: Green;">true</span></li>
<li><span style="color: Gray;">  </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">  </span></li>
<li><span style="color: Gray;">  </span><span style="color: Blue;">show</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">mouseover</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">  </span><span style="color: Blue;">hide</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">delay</span><span style="color: Gray;">:</span><span style="color: Maroon;">1000</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">fixed</span><span style="color: Gray;">:</span><span style="color: Green;">true</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">when</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">mouseout</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Gray;">  </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">  </span><span style="color: Blue;">position</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">corner</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">target</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">bottomMiddle</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">tooltip</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">topMiddle</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Gray;">   </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">adjust</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">y</span><span style="color: Gray;">:</span><span style="color: Maroon;">20</span></li>
<li><span style="color: Gray;">   </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">  </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">  </span><span style="color: Blue;">style</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">border</span><span style="color: Gray;">: </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">width</span><span style="color: Gray;">: </span><span style="color: Maroon;">2</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">    </span><span style="color: Blue;">radius</span><span style="color: Gray;">: </span><span style="color: Maroon;">6</span></li>
<li><span style="color: Gray;">   </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><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;">light</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">tip</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">topMiddle</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Gray;">  </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;"> </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h4>7、ajax评级方法vote()</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: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">vote</span><span style="color: Olive;">(</span><span style="color: Blue;">ob</span><span style="color: Gray;">,</span><span style="color: Blue;">value</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;"> </span><span style="color: #ffa500;">/*ajax将投票数据发给vote.php*/</span></li>
<li><span style="color: Gray;"> $.</span><span style="color: Blue;">post</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">vote.php</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Olive;">{</span><span style="color: Blue;">qid</span><span style="color: Gray;">:</span><span style="color: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">id</span><span style="color: Gray;">,</span><span style="color: Blue;">vote</span><span style="color: Gray;">:</span><span style="color: Blue;">value</span><span style="color: Olive;">}</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;">  </span></li>
<li><span style="color: Gray;">  </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">data</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: Olive;">)</span></li>
<li><span style="color: Gray;">  </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">   </span><span style="color: #ffa500;">/* 更新json数据 */</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">voted</span><span style="color: Gray;">=</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">votes</span><span style="color: Gray;">=</span><span style="color: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">votes</span><span style="color: Gray;">+</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">vsum</span><span style="color: Gray;">=</span><span style="color: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">vsum</span><span style="color: Gray;">+</span><span style="color: Blue;">parseInt</span><span style="color: Olive;">(</span><span style="color: Blue;">value</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">   </span><span style="color: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">rating</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: Blue;">ob</span><span style="color: Gray;">.</span><span style="color: Blue;">vsum</span><span style="color: #8b0000;">/</span><span style="color: Red;">ob.votes);</span></li>
<li><span style="color: Red;">   </span></li>
<li><span style="color: Red;">   </span><span style="color: #8b0000;">/</span><span style="color: Gray;">* 更新评级</span><span style="color: Blue;">UI</span><span style="color: Gray;"> *</span><span style="color: #8b0000;">/</span></li>
<li><span style="color: Red;">   $('#rating-'+ob.id).stars(&quot;select&quot;, ob.rating);</span></li>
<li><span style="color: Red;">   quotes[ob.id-1]=ob;</span></li>
<li><span style="color: Red;">  }</span></li>
<li><span style="color: Red;"> });</span></li>
<li><span style="color: Red;">}</span></li></ol></div>
<p>8、保存投票数据vote.php</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;">/* 将用户ip转成长整型 */</span></li>
<li><span style="color: #00008b;">$ip</span><span style="color: Gray;"> = </span><span style="color: Blue;">ip2long</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_SERVER</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">REMOTE_ADDR</span><span style="color: #8b0000;">'</span><span style="color: Olive;">])</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">/* 将文章id和评级值转成整形 */</span></li>
<li><span style="color: #00008b;">$qid</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">int</span><span style="color: Olive;">)</span><span style="color: #00008b;">$_POST</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">qid</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: #00008b;">$v</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">int</span><span style="color: Olive;">)</span><span style="color: #00008b;">$_POST</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">vote</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">/* 向数据库插入数据 */</span></li>
<li><span style="color: Blue;">mysql_query</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;"> INSERT INTO quotes_votes (qid,ip,vote,date_submit)</span></li>
<li><span style="color: Red;">    VALUES (</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$qid</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">,</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$ip</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">,</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$v</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">,CURDATE())</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">/* 更新文章表的评级统计数据 */</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">mysql_affected_rows</span><span style="color: Olive;">(</span><span style="color: #00008b;">$link</span><span style="color: Olive;">)</span><span style="color: Gray;">==</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;"> </span><span style="color: Blue;">mysql_query</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UPDATE quotes SET votes=votes+1, vsum=vsum+</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$v</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">, rating=vsum/votes WHERE id=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$qid</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;"> </span><span style="color: Green;">echo</span><span style="color: #8b0000;">'</span><span style="color: Red;">1</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Green;">else</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">0</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li>
</ol></div>
<p>原文：http://tutorialzine.com/2009/11/fancy-quotes/<br />
非常长的一篇教程，我敲了三个小时，有不明白的地方可以给偶留言，谢谢</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1890/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何让层水平垂直居中页面</title>
		<link>http://www.36ria.com/1821</link>
		<comments>http://www.36ria.com/1821#comments</comments>
		<pubDate>Wed, 14 Apr 2010 02:02:51 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[css教程]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=1821</guid>
		<description><![CDATA[让一个层水平垂直居中是一个非常常见的布局方式，但在html中水平居中使用margin:0px auto;可以实现，但垂直居中使用外边距是无法达到效果的。（页面设置height:100%;是无效的），这里使用绝对定位+负外边距的方式来实现垂直居中，但同时要考虑页面重置大小的情况，需要使用js来修正。 请看demo：http://demo.tutorialzine.com/2010/03/centering-div-vertically-and-horizontally/demo.html 示例逐层演示......]]></description>
			<content:encoded><![CDATA[<p>让一个层水平垂直居中是一个非常常见的布局方式，但在html中水平居中使用margin:0px auto;可以实现，但垂直居中使用外边距是无法达到效果的。（页面设置height:100%;是无效的），这里使用绝对定位+负外边距的方式来实现垂直居中，但同时要考虑页面重置大小的情况，需要使用js来修正。</p>
<p>请看demo：<a href="http://demo.tutorialzine.com/2010/03/centering-div-vertically-and-horizontally/demo.html">http://demo.tutorialzine.com/2010/03/centering-div-vertically-and-horizontally/demo.html</a></p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=149" title="名称：Centering，下载次数：141，文件大小：3.5 KB" class="btn-download">点此下载</a>
<p>示例逐层演示了让层水平垂直居中的过程。</p>
<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: Blue;">.className</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Maroon;">270</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;">150</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;">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: Olive;">}</span></li></ol></div>
<p>使用margin:0 auto;让层水平居中，留意宽度可高度必不可少。</p>
<h4>2、让层垂直居中</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;">.className</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">width:</span><span style="color: Maroon;">270</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;">150</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;">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;">left:</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;">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:</span><span style="color: Gray;">-</span><span style="color: Maroon;">75</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;">135</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>将层设置为绝对定位，left和top为50%，这时候使用负外边距，负外边距的大小为宽高的一半。</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: 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; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span></li>
<li><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: Teal;">window</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">resize</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.className</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></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">position</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">absolute</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">left</span><span style="color: Gray;">: </span><span style="color: Olive;">(</span><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: Teal;">window</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; - $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.className</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">outerWidth</span><span style="color: Olive;">())</span><span style="color: #8b0000;">/</span><span style="color: Red;">2,</span></li>
<li><span style="color: Red;">&nbsp;&nbsp; top: ($(window).height() </span></li>
<li><span style="color: Red;">&nbsp; &nbsp;&nbsp; - $('.className').outerHeight())</span><span style="color: #8b0000;">/</span><span style="color: Maroon;">2</span></li>
<li><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></li>
<li><span style="color: Gray;">&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;</span></li>
<li><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: Teal;">window</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">resize</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>这里用到的jquery的方法。<br />
resize()事件：当在窗体重置大小时触发。<br />
outerWidth()：获取第一个匹配元素外部宽度（默认包括补白和边框）。</p>
<p>原文：http://tutorialzine.com/2010/03/centering-div-vertically-and-horizontally/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1821/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>使用jquery+php获取和设置Cookies</title>
		<link>http://www.36ria.com/1813</link>
		<comments>http://www.36ria.com/1813#comments</comments>
		<pubDate>Tue, 13 Apr 2010 02:41:59 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquery实战]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=1813</guid>
		<description><![CDATA[jquery.Cookie是个非常常用的jquery插件，用来获取和设置Cookies。这篇实战教程将讲解jquery.Cookie和php如何获取和设置。 来看个demo：http://www.36ria.com/demo/cookies/demo.php 示例中会记录你访问该页面的次数，并且保存输入框的值。 制作教程： php代码部分 &#60;?php &#160; // 浏览页面次数 &#160; $visited = (int)$_COOKIE['pageVisits'] + 1; &#160; setcookie(&#160; &#160; 'pageVisits',&#160; &#160; &#160; &#160; &#160; &#160; &#......]]></description>
			<content:encoded><![CDATA[<p><a href="http://plugins.jquery.com/project/Cookie" target="_blank">jquery.Cookie</a>是个非常常用的jquery插件，用来获取和设置Cookies。这篇实战教程将讲解<a href="http://plugins.jquery.com/project/Cookie" target="_blank">jquery.Cookie</a>和php如何获取和设置。</p>
<h4>来看个demo：<a href="http://www.36ria.com/demo/cookies/demo.php">http://www.36ria.com/demo/cookies/demo.php</a></h4>
<p>示例中会记录你访问该页面的次数，并且保存输入框的值。</p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=148" title="名称：Cookies，下载次数：137，文件大小：3.46 KB" class="btn-download">点此下载</a>
<h2>制作教程：</h2>
<h4>php代码部分</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;">&lt;?php</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// 浏览页面次数</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #00008b;">$visited</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">int</span><span style="color: Olive;">)</span><span style="color: #00008b;">$_COOKIE</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">pageVisits</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> + </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: Blue;">setcookie</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #8b0000;">'</span><span style="color: Red;">pageVisits</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// cookie名</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$visited</span><span style="color: Gray;">,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// cookie值</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">time</span><span style="color: Olive;">()</span><span style="color: Gray;">+</span><span style="color: Maroon;">7</span><span style="color: Gray;">*</span><span style="color: Maroon;">24</span><span style="color: Gray;">*</span><span style="color: Maroon;">60</span><span style="color: Gray;">*</span><span style="color: Maroon;">60</span><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; </span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">?&gt;</span></li></ol></div>
<p>当运行这个页面时服务器端会写入个cookie值，用于保存你访问该页面的次数。这里应用到了php的setcookie方法。</p>
<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;">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;">counter</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;?</span><span style="color: Green;">php</span><span style="color: Gray;"> </span><span style="color: #00008b;">echo</span><span style="color: Gray;"> $</span><span style="color: #00008b;">visited</span><span style="color: Olive;">?&gt;&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<h4>现在来看如何使用js获取和设置cookie</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;">cookie</span><span style="color: Gray;"> = $.</span><span style="color: Blue;">cookie</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">demoCookie</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">cookie</span><span style="color: Olive;">)</span><span style="color: Gray;"> $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.jq-text</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">(</span><span style="color: Blue;">cookie</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; </span></li>
<li><span style="color: Gray;">&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;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.fields a</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><span style="color: Blue;">e</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;">text</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#inputBox</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// 设置cookie的值</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; $.</span><span style="color: Blue;">cookie</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">demoCookie</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">text</span><span style="color: Gray;">,</span><span style="color: Olive;">{</span><span style="color: Blue;">expires</span><span style="color: Gray;">: </span><span style="color: Maroon;">7</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: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.jq-text</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">text</span><span style="color: Olive;">(</span><span style="color: Blue;">text</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">slideDown</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">e</span><span style="color: Gray;">.</span><span style="color: Blue;">preventDefault</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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#form1</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">submit</span><span style="color: Olive;">(</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;">&nbsp;</span><span style="color: Blue;">e</span><span style="color: Gray;">.</span><span style="color: Blue;">preventDefault</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Olive;">})</span></li></ol></div>
<p>var cookie = $.cookie(&#8216;demoCookie&#8217;);<br />
获取键名demoCookie的值（如果不存在返回的是null）。</p>
<p>$.cookie(&#8216;demoCookie&#8217;,text,{expires: 7});<br />
当点击保存链接的时候，将输入框的值写入cookie。</p>
<p>原文：http://tutorialzine.com/2010/03/microtut-getting-and-setting-cookies-with-jquery-php/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1813/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用ajax+jquery+php创建即时编辑可拖拉的菜单</title>
		<link>http://www.36ria.com/1787</link>
		<comments>http://www.36ria.com/1787#comments</comments>
		<pubDate>Tue, 06 Apr 2010 05:29:15 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[ajax与jquery]]></category>
		<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=1787</guid>
		<description><![CDATA[中文示例下载： 英文demo：http://demo.tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/demo.php 一、前言： 有用过DZ或phpwind的朋友应该有留意到，其中的菜单项编辑非常的方便和人性化，这篇教程，主要就是讲解如何创建即时编辑删除保存的菜单控制。 在你看这边教程时，最好掌握或了解以下技术： jquery（示例使用1.42） jqueryUI（示例中有用到二个jqueryUI插件：拖拉和弹出窗） php（......]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1785" title="todo" src="http://www.36ria.com/wp-content/uploads/2010/04/todo.jpg" alt="" width="404" height="163" /></p>
<p>中文示例下载：</p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=147" title="名称：todo，下载次数：236，文件大小：8.96 KB" class="btn-download">点此下载</a>
<p>英文demo：<a href="http://demo.tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/demo.php">http://demo.tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/demo.php</a></p>
<h2>一、前言：</h2>
<p>有用过DZ或phpwind的朋友应该有留意到，其中的菜单项编辑非常的方便和人性化，这篇教程，主要就是讲解如何创建即时编辑删除保存的菜单控制。</p>
<p>在你看这边教程时，最好掌握或了解以下技术：</p>
<ol>
<li>jquery（示例使用1.42）</li>
<li>jqueryUI（示例中有用到二个jqueryUI插件：拖拉和弹出窗）</li>
<li>php（最好掌握类的写法）</li>
<li>ajax（掌握或理解ajax的机制）</li>
<li>mysql</li>
</ol>
<p>如果你具备这些知识，想要了解综合这些技术，创建web2.0程序，那么这篇教程将对你非常有用处。</p>
<p>代码不一一讲解，这里只讲解前后台脚本的关键部分</p>
<h2>二、javascript关键代码讲解</h2>
<p>在初始化jquery拖拉UI中有个update回调函数，在拖拉后（数据改变）后触发：</p>
<p>update : function(){</p>
<p>var arr = $(“.todoList”).sortable(&#8216;toArray&#8217;);</p>
<p>// 去掉菜单项的todo-前缀，只保留id<br />
arr = $.map(arr,function(val,key){<br />
return val.replace(&#8216;todo-&#8217;,”);<br />
});</p>
<p>// ajax保存修改<br />
$.get(&#8216;ajax.php&#8217;,{action:&#8217;rearrange&#8217;,positions:arr});<br />
}</p>
<p>可以alert(arr)看看结果集，就会明白这里为什么要去掉，数组值中的&#8217;todo-&#8217;前缀，最后将这个数组传递给后台（包含所有的菜单项，而不只是有交换位置的2个菜单项。）</p>
<h4>配置弹出窗</h4>
<p>//配置删除窗体<br />
$(“#dialog-confirm”).dialog({<br />
resizable: false,<br />
height:130,<br />
modal: true,<br />
autoOpen:false,<br />
buttons: {<br />
“删除”: function() {<br />
$.get(“ajax.php”,{“action”:”delete”,”id”:currentTODO.data(&#8216;id&#8217;)},function(msg){<br />
currentTODO.fadeOut(&#8216;fast&#8217;);<br />
})</p>
<p>$(this).dialog(&#8216;close&#8217;);<br />
},<br />
“取消”: function() {<br />
$(this).dialog(&#8216;close&#8217;);<br />
}<br />
}<br />
});</p>
<p>删除弹出提示框的提示文字在#dialog-confirm容器内。<br />
currentTODO就是当前操作的菜单项。这个值是在什么情况下赋予的呢，来看下面代码：</p>
<p>$(&#8216;.todo a&#8217;).live(&#8216;click&#8217;,function(e){</p>
<p>currentTODO = $(this).closest(&#8216;.todo&#8217;);<br />
currentTODO.data(&#8216;id&#8217;,currentTODO.attr(&#8216;id&#8217;).replace(&#8216;todo-&#8217;,”));</p>
<p>e.preventDefault();<br />
});</p>
<p>当你单击所有的菜单项下的链接的时候都会给currentTODO赋值（也就是点击保存、删除或取消按钮时）。<br />
留意这里使用live()来给菜单项绑定事件，因为菜单项有可能随着你的操作，对象发生改变，所以使用live动态绑定事件。</p>
<h4>来看点击编辑按钮后触发的方法。</h4>
<p>//给编辑按钮监听单击事件</p>
<p>$(&#8216;.todo a.edit&#8217;).live(&#8216;click&#8217;,function(){</p>
<p>var container = currentTODO.find(&#8216;.text&#8217;);</p>
<p>if(!currentTODO.data(&#8216;origText&#8217;))<br />
{<br />
currentTODO.data(&#8216;origText&#8217;,container.text());<br />
}<br />
else<br />
{<br />
return false;<br />
}</p>
<p>$(&#8216;</p>
<input type="text" />&#8216;).val(container.text()).appendTo(container.empty());</p>
<p>// 添加保存和取消按钮:<br />
container.append(<br />
&#8216;</p>
<div class="editTodo">&#8216;+<br />
&#8216;<a class="saveChanges" href="#">保存</a> or <a class="discardChanges" href="#">取消</a>&#8216;+<br />
&#8216;</div>
<p>&#8216;<br />
);</p>
<p>});</p>
<p>将该菜单项的文字写入缓存，并生成一个输入框，写入这个值。<br />
同时生成保存和取消按钮。</p>
<h2>三、php后台脚本关键部分讲解</h2>
<p>todo.class.php是是一个自定义的php类。</p>
<p>我们来看这个类的关键部分。</p>
<p>public function __toString(){<br />
return &#8216;</p>
<li id="todo-'.$this-&gt;data['id'].'" class="todo">
<div class="text">&#8216;.$this-&gt;data['text'].&#8217;</div>
<div class="actions"><a class="edit" href="#">编辑</a><br />
<a class="delete" href="#">删除</a></div>
</li>
<p>&#8216;;<br />
}</p>
<p>__toString是个魔法方法，当你输出类时，会自动触发这个方法。比如：</p>
<p>public static function createNew($text){</p>
<p>$text = self::esc($text);<br />
if(!$text) throw new Exception(“输入框文字不合法！”);</p>
<p>$posResult = mysql_query(“SELECT MAX(position)+1 FROM tz_todo”);</p>
<p>if(mysql_num_rows($posResult))<br />
list($position) = mysql_fetch_array($posResult);</p>
<p>if(!$position) $position = 1;</p>
<p>mysql_query(“INSERT INTO tz_todo SET text=&#8217;”.$text.”&#8216;, position = “.$position);</p>
<p>if(mysql_affected_rows($GLOBALS['link'])!=1)<br />
throw new Exception(“无法添加新的菜单项”);</p>
<p>// 创建个新的ToDo对象，并输出</p>
<p>echo (new ToDo(array(<br />
&#8216;id&#8217; =&gt; mysql_insert_id($GLOBALS['link']),<br />
&#8216;text&#8217; =&gt; $text<br />
)));</p>
<p>exit;<br />
}</p>
<p>createNew这个静态方法用于创建一个新的菜单项。留意函数内的echo()</p>
<p>public static function rearrange($key_value){</p>
<p>$updateVals = array();<br />
foreach($key_value as $k=&gt;$v)<br />
{<br />
$strVals[] = &#8216;WHEN &#8216;.(int)$v.&#8217; THEN &#8216;.((int)$k+1).PHP_EOL;<br />
}</p>
<p>if(!$strVals) throw new Exception(“No data!”);</p>
<p>mysql_query(” UPDATE tz_todo SET position = CASE id<br />
“.join($strVals).”<br />
ELSE position<br />
END”);</p>
<p>if(mysql_error($GLOBALS['link']))<br />
throw new Exception(“无法编辑菜单项位置”);<br />
}</p>
<p>这是这个类中最复杂的代码，来重点说明下。rearrange这个静态方法用于在你拖拉菜单项结束后，根据位置值，来调整菜单项的位置。<br />
接受的参数是包含二个菜单项位置值的数组。<br />
<img class="alignnone size-full wp-image-1788" title="todo2" src="http://www.36ria.com/wp-content/uploads/2010/04/todo2.jpg" alt="" width="156" height="114" /><br />
上面是前台传递的参数情况。<br />
关于mysql中case,when,then的使用，大家可以百度下，数据库不是我的专长，以免误人子弟。<br />
对这段代码能比较好解读的童鞋，可以给在本页留言，谢谢。</p>
<h4>connect.php：数据库连接配置</h4>
<p>请将示例包内的.sql批处理文件导入数据库，并根据你机子的数据库情况，进行重新配置。</p>
<h2>css部分</h2>
<p>该示例有用到了css3，所以在IE下有部分效果看不到，比如圆角、阴影、发光效果，请使用其他支持css3的浏览器查看。</p>
<p>ul.todoList li{<br />
background-color:#F9F9F9;<br />
border:1px solid #EEEEEE;<br />
list-style:none;<br />
margin:6px;<br />
padding:6px 9px;<br />
position:relative;<br />
cursor:n-resize;</p>
<p>/* CSS3 圆角和阴影样式 */</p>
<p>text-shadow:1px 1px 0 white;</p>
<p>-moz-border-radius:6px;<br />
-webkit-border-radius:6px;<br />
border-radius:6px;<br />
}<br />
ul.todoList li:hover{<br />
border-color:#9be0f9;</p>
<p>/* CSS3 发光 效果: */<br />
-moz-box-shadow:0 0 5px #A6E5FD;<br />
-webkit-box-shadow:0 0 5px #A6E5FD;<br />
box-shadow:0 0 5px #A6E5FD;<br />
}</p>
<p>更多的细节就留给各位朋友们琢磨，有不明白的，可以给明河留言，或加入RIA之家群进行讨论，谢谢。</p>
<p>原文请看：http://tutorialzine.com/2010/03/ajax-todo-list-jquery-php-mysql-css/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1787/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery中的hover方法教程—明河谈jquery</title>
		<link>http://www.36ria.com/1756</link>
		<comments>http://www.36ria.com/1756#comments</comments>
		<pubDate>Wed, 31 Mar 2010 02:31:20 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[hover]]></category>
		<category><![CDATA[明河谈jquery]]></category>

		<guid isPermaLink="false">http://www.36ria.com/?p=1756</guid>
		<description><![CDATA[jQuery中的hover方法是个非常常用的方法，接受二个参数，第一个参数为鼠标移入对象时触发的事件，第二个参数为鼠标移出对象时触发的事件。 很多人误以为hover()是mouserover和mouseout的结合体，实际上不是。 hover =  mouseenter+mouseleave mouseenter和mouseleave这二个事件，jquery新手应该会觉得很陌生，实际上它实现的功能和mouserover和mouseout是极为类似的，那为什么会出现这二个事件，而......]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1757" title="hover" src="http://www.36ria.com/wp-content/uploads/2010/03/hover.jpg" alt="" width="285" height="202" /></p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=145" title="名称：hover，下载次数：162，文件大小：2.08 KB" class="btn-download">点此下载</a>
<p>jQuery中的hover方法是个非常常用的方法，接受二个参数，第一个参数为鼠标移入对象时触发的事件，第二个参数为鼠标移出对象时触发的事件。</p>
<p>很多人误以为hover()是mouserover和mouseout的结合体，实际上不是。</p>
<p><strong>hover =  mouseenter+mouseleave</strong></p>
<p>mouseenter和mouseleave这二个事件，jquery新手应该会觉得很陌生，实际上它实现的功能和mouserover和mouseout是极为类似的，那为什么会出现这二个事件，而不使用mouserover和mouseout呢？</p>
<p>这就要从mouseout的诡异bug说起了，mouseout会在你离开子元素的时候就把事件冒泡到父元素上，也就是说不管你的鼠标是否还在父元素中，只要你一离开子元素，就会触发mouseout。</p>
<p>这说法非常的抽象，来看demo：</p>
<h4><a href="http://www.36ria.com/demo/hover/demo.html">http://www.36ria.com/demo/hover/demo.html</a></h4>
<p>尤其看下第三个关于mouseout的示例，你就会发现这个问题的所在。</p>
<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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.selectorClass4</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">hover</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: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">check</span><span style="color: Gray;"> = </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">check</span><span style="color: Gray;"> || </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: Olive;">(</span><span style="color: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeTo</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;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">check</span><span style="color: Gray;">++%</span><span style="color: Maroon;">2</span><span style="color: Gray;">==</span><span style="color: Maroon;">0</span><span style="color: Gray;"> ? </span><span style="color: Maroon;">1</span><span style="color: Gray;"> : </span><span style="color: Maroon;">0.4</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></ol></div>
<p>留意了，这里的hover只有一个参数，也就是只有移入事件，但同样实现了移入和移出。那是如何实现的呢？<br />
非常关键的一个属性：this.check<br />
大家可以使用alert(this.check )试下，非常有意思，奇数为移入，而偶数为移出，但注意第一次移入为undefined，所以才需要this.check = this.check || 1;当this.check不存在时赋值1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1756/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery结合JSONP教程—明河谈jquery</title>
		<link>http://www.36ria.com/1714</link>
		<comments>http://www.36ria.com/1714#comments</comments>
		<pubDate>Mon, 22 Mar 2010 03:35:59 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[JSONP]]></category>
		<category><![CDATA[明河谈jquery]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1714</guid>
		<description><![CDATA[今天群里的布川せ酷子童鞋向偶询问在juqery下jsonp的问题，借此机会写个关于jquery结合jsonp的教程。 1、什么是jsonp？ Ajax技术现在非常的盛行，但javascript的跨域问题一直是个问题，而jsonp的出现算是比较好的解决方案。 关于jsonp最详细的介绍请看：http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/ jsonp的基础知识上面这个页面已经非常详细了，不再重复。接下来重要演示jquery下jsonp的使......]]></description>
			<content:encoded><![CDATA[<p>今天群里的布川せ酷子童鞋向偶询问在juqery下jsonp的问题，借此机会写个关于jquery结合jsonp的教程。</p>
<h4>1、什么是jsonp？</h4>
<p>Ajax技术现在非常的盛行，但javascript的跨域问题一直是个问题，而jsonp的出现算是比较好的解决方案。</p>
<p>关于jsonp最详细的介绍请看：<a href="http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/">http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/</a></p>
<p>jsonp的基础知识上面这个页面已经非常详细了，不再重复。接下来重要演示jquery下jsonp的使用。</p>
<h4>2、jquery与jsonp</h4>
<p>jquery已经可以完美的使用jsonp，而且一如既往的便利。</p>
<h4>$.getJSON()</h4>
<p>这是最关键的函数，返回json数据，与其他的ajax门面函数类似，比如$.get(),$.getScript()等，但有个非常不一样的地方。来看下面代码</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;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">getJSON</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://api.zuosa.com/statuses/public_timeline.json?callback=?</span><span style="color: #8b0000;">&quot;</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><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: Blue;">data</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>这里我使用微博做啥网的一个API，public_timeline.json返回json数据。<br />
这里留意的是callback=?，非常关键的点，jQuery 自动将 ? 替换为要调用的生成函数名，所以callback相当于一个接口，是解决跨域的关键。后面的？是必须的。<br />
运行后如图：<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/03/jsonp1.png" alt="" title="jsonp1" width="546" height="121" class="alignnone size-full wp-image-1715" /><br />
那么实际返回的json数据是什么情况呢？请看下面的截图：<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/03/jsonp2.png" alt="" title="jsonp2" width="418" height="151" class="alignnone size-full wp-image-1716" /><br />
数据太多了，可以运行下demo然后用firebug查看。<br />
现在的firebug可以查看格式化的json数据，效果如下：<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/03/jsonp3.png" alt="" title="jsonp3" width="466" height="177" class="alignnone size-full wp-image-1717" /><br />
点击进去后可以查看的到详细的单条json数据，如下：<br />
<img src="http://www.36ria.com/wp-content/uploads/2010/03/jsonp4.png" alt="" title="jsonp4" width="508" height="185" class="alignnone size-full wp-image-1718" /><br />
实际过程就是这么简单，可以在回调函数中对数据进行操作。<br />
我在demo页面里面输出了，一个列表，有兴趣的可以参考下代码。</p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=140" title="名称：jsonp测试，下载次数：299，文件大小：1.23 kB" class="btn-download">点此下载</a>
<p>关于服务器端生成jsonp请看，IBM那个介绍页面。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1714/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>使用jquery制作文字背景图片特效</title>
		<link>http://www.36ria.com/1692</link>
		<comments>http://www.36ria.com/1692#comments</comments>
		<pubDate>Wed, 17 Mar 2010 03:38:00 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery特效]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1692</guid>
		<description><![CDATA[前几天在gayadesign上看到了一个颇有意思的效果，自己就模范写了一个。 背景图片，可以自己更改，我这里面使用了《air》和《最终幻想7》的壁纸，嘿嘿，欢迎动漫爱好者交流。 由于使用的是png，不支持IE6。 制作教程： 创建一个文字遮罩图片： 使用ph0toshop制作图片如下： 图层关系如下： 创建如下html页面，引入jquery库还有动画增强插件easing，还有最重要的，务必引入jquery.ba......]]></description>
			<content:encoded><![CDATA[<p>前几天在gayadesign上看到了一个颇有意思的效果，自己就模范写了一个。</p>
<p><img src="http://www.36ria.com/wp-content/uploads/2010/03/bg-move.png" alt="" title="bg-move" width="399" height="213" class="alignleft size-full wp-image-3862" /></p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/demo/bg-move/" 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=139" title="名称：背景移动特效，下载次数：200，文件大小：" class="btn-download">点此下载</a></li>
</ul>
<p>背景图片，可以自己更改，我这里面使用了《air》和《最终幻想7》的壁纸，嘿嘿，欢迎动漫爱好者交流。</p>
<p>由于使用的是png，不支持IE6。</p>
<h2>制作教程：</h2>
<h4>创建一个文字遮罩图片：</h4>
<p>使用ph0toshop制作图片如下：</p>
<p><img class="alignnone size-full wp-image-1694" title="背景移动特效1" src="http://www.36ria.com/wp-content/uploads/2010/03/背景移动特效1.jpg" alt="" width="400" height="111" /></p>
<p>图层关系如下：</p>
<p><img class="alignnone size-full wp-image-1696" title="背景移动特效2" src="http://www.36ria.com/wp-content/uploads/2010/03/背景移动特效21.jpg" alt="" width="259" height="159" /></p>
<h4>创建如下html页面，引入jquery库还有动画增强插件easing，还有最重要的，务必引入jquery.backgroundPosition.js</h4>
<p>backgroundPosition插件用于修正背景图片无法使用动画的问题。</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;">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/jquery.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;">jquery.easing.1.3.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;">jquery.backgroundPosition.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>
<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;">scrollBg</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;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">='</span><span style="color: #00008b;">mask</span><span style="color: Gray;">.</span><span style="color: #00008b;">png</span><span style="color: Gray;">' </span><span style="color: #00008b;">alt</span><span style="color: Gray;">='</span><span style="color: #00008b;">RIA</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;">500</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">109</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;</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;</span></li>
<li><span style="color: Gray;">&nbsp;</span><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;">scrollBg2</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;">scrollBg</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;">img</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">='</span><span style="color: #00008b;">mask</span><span style="color: Gray;">.</span><span style="color: #00008b;">png</span><span style="color: Gray;">' </span><span style="color: #00008b;">alt</span><span style="color: Gray;">='</span><span style="color: #00008b;">RIA</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;">500</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">109</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;</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>创建2个图片容器，里面为遮罩图片，就是文字图片</p>
<h4>样式如下：</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;">body</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">background-color:</span><span style="color: Gray;"> </span><span style="color: #00008b;">#000000</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.scrollBg</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">background-image:</span><span style="color: Gray;"> url(bg.jpg)</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;">#000000</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;">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: Green;">height:</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">109</span><span style="color: Red;">px</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Blue;">.scrollBg</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">img</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Green;">display:</span><span style="color: Gray;"> </span><span style="color: Red;">block</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">#scrollBg2</span><span style="color: Olive;">{</span><span style="color: Green;">background-image:</span><span style="color: Gray;"> url(bg2.jpg)</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li></ol></div>
<h4>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><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: Blue;">moveBgAround</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">.scrollBg</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">*移动背景</span></li>
<li><span style="color: #ffa500;">*/</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">moveBgAround</span><span style="color: Olive;">(</span><span style="color: Blue;">applyTo</span><span style="color: Gray;">,</span><span style="color: Blue;">x</span><span style="color: Gray;">,</span><span style="color: Blue;">y</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;">_applyTo</span><span style="color: Gray;"> = </span><span style="color: Blue;">applyTo</span><span style="color: Gray;">;</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;">_maxX</span><span style="color: Gray;"> = </span><span style="color: Blue;">x</span><span style="color: Gray;"> || </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;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">_maxY</span><span style="color: Gray;"> = </span><span style="color: Blue;">y</span><span style="color: Gray;"> || </span><span style="color: Maroon;">700</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: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">x</span><span style="color: Gray;"> = </span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">floor</span><span style="color: Olive;">(</span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">random</span><span style="color: Olive;">()</span><span style="color: Gray;">*</span><span style="color: Blue;">_maxX</span><span style="color: Olive;">)</span><span style="color: Gray;">;</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;">y</span><span style="color: Gray;"> = </span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">floor</span><span style="color: Olive;">(</span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">random</span><span style="color: Olive;">()</span><span style="color: Gray;">*</span><span style="color: Blue;">_maxY</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; </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;">time</span><span style="color: Gray;"> = </span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">floor</span><span style="color: Olive;">(</span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">random</span><span style="color: Olive;">()</span><span style="color: Gray;">*</span><span style="color: Maroon;">1001</span><span style="color: Olive;">)</span><span style="color: Gray;"> + </span><span style="color: Maroon;">2000</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;">//让背景开始移动</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: Blue;">_applyTo</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; </span><span style="color: Blue;">backgroundPosition</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">(</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Olive;">(</span><span style="color: Blue;">x</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: #8b0000;">'</span><span style="color: Red;">px </span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Olive;">(</span><span style="color: Blue;">y</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: #8b0000;">'</span><span style="color: Red;">px)</span><span style="color: #8b0000;">'</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Blue;">time</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">swing</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Olive;">()</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: #ffa500;">//回调函数</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">moveBgAround</span><span style="color: Olive;">(</span><span style="color: Blue;">_applyTo</span><span style="color: Gray;">,</span><span style="color: Blue;">_maxX</span><span style="color: Gray;">,</span><span style="color: Blue;">_maxY</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: Olive;">}</span></li></ol></div>
<p>脚本很短，有不明白的地方可以给我留言。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1692/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jquery1.4中文参考手册下载</title>
		<link>http://www.36ria.com/1622</link>
		<comments>http://www.36ria.com/1622#comments</comments>
		<pubDate>Wed, 03 Mar 2010 10:22:43 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery使用手册]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1622</guid>
		<description><![CDATA[最新的jquery中文手册，不包含1.42的一个新方法，其他的内容基本上是全了......]]></description>
			<content:encoded><![CDATA[<p>最新的jquery中文手册，不包含1.42的一个新方法，其他的内容基本上是全了。</p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=134" title="名称：jquery1.4 API中文参考手册，下载次数：348，文件大小：461.64 kB" class="btn-download">点此下载</a>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1622/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《jquery1.4指南》（英文）下载</title>
		<link>http://www.36ria.com/1529</link>
		<comments>http://www.36ria.com/1529#comments</comments>
		<pubDate>Tue, 23 Feb 2010 11:30:58 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery1.4指南]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1529</guid>
		<description><![CDATA[书名：《jQuery+1.4+Reference+Guide》 这是一本全面介绍jquery1.4的书，非常不错的jquery新手手册，带有非常详实的用例，目前只有英文版，有兴趣的朋友先凑合着看。 再推荐一本实战的书，也是英文版的 书名：《Packtpub.jQuery.1.3.with.PHP》 很好的一本jquery实战书。主要是讲解jquery和php结合时的技巧、实例。也只有英文本......]]></description>
			<content:encoded><![CDATA[<h4>书名：《jQuery+1.4+Reference+Guide》</h4>
<p><img class="alignnone size-full wp-image-1530" title="Snap5" src="http://www.36ria.com/wp-content/uploads/2010/02/Snap5.png" alt="" width="237" height="312" /></p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=129" title="名称：jQuery+1.4+Reference+Guide，下载次数：207，文件大小：253.63 kB" class="btn-download">点此下载</a>
<p>这是一本全面介绍jquery1.4的书，非常不错的jquery新手手册，带有非常详实的用例，目前只有英文版，有兴趣的朋友先凑合着看。</p>
<p>再推荐一本实战的书，也是英文版的</p>
<h4>书名：《Packtpub.jQuery.1.3.with.PHP》</h4>
<p>很好的一本jquery实战书。主要是讲解jquery和php结合时的技巧、实例。也只有英文本。</p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=130" title="名称：Packtpub.jQuery.1.3.with.PHP，下载次数：143，文件大小：3.54 MB" class="btn-download">点此下载</a>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1529/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jquery1.4.2发布！</title>
		<link>http://www.36ria.com/1511</link>
		<comments>http://www.36ria.com/1511#comments</comments>
		<pubDate>Sun, 21 Feb 2010 01:24:09 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery1.4.2]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1511</guid>
		<description><![CDATA[没想到jquery这次居然更新这么快，jquery1.4的教程我还没有发二周，jquery1.4.2就发布了。 这次jquery1.4.2更新的内容主要是性能和新增了一些新的API。 性能方面：看下图 包含了压缩版（24K）和完整版。 你也可以直接在网页中引入： http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js 新增方法： .delegate( selector, eventType, handler ) 这个函数的确......]]></description>
			<content:encoded><![CDATA[<p>没想到jquery这次居然更新这么快，jquery1.4的教程我还没有发二周，jquery1.4.2就发布了。</p>
<p>这次jquery1.4.2更新的内容主要是性能和新增了一些新的API。</p>
<h4>性能方面：看下图</h4>
<p><img class="alignnone size-full wp-image-1512" title="4366089781_509c29aff8" src="http://www.36ria.com/wp-content/uploads/2010/02/4366089781_509c29aff8.jpg" alt="" width="500" height="375" /></p>
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=128" title="名称：jQuery1.42，下载次数：270，文件大小：66.75 kB" class="btn-download">点此下载</a>
<p>包含了压缩版（24K）和完整版。</p>
<p>你也可以直接在网页中引入：</p>
<li><a href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js</a></li>
<li><a href="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js">http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js</a></li>
<h4>新增方法：</h4>
<h4>.delegate( selector, eventType, handler )</h4>
<p>这个函数的确很有用。用于给指定的对象附加一个事件监听。</p>
<p>selector：选择器</p>
<p>eventType：事件类型</p>
<p>handler：监听函数</p>
<p>Delegate这个方法用于替代1.3.2中的.live()方法。这个方法比live来的方便，而且也可以达到动态添加事件的作用。</p>
<p>来看下面示例：给表格的每个td绑定hover事件<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;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">table</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">each</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: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">td</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Green;">this</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;">&quot;</span><span style="color: Red;">hover</span><span style="color: #8b0000;">&quot;</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; $</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;">toggleClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">hover</span><span style="color: #8b0000;">&quot;</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: 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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">table</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">delegate</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">td</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">hover</span><span style="color: #8b0000;">&quot;</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; $</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;">toggleClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">hover</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>一行代码搞定</p>
<p>当然既然有.delegate()自然也有.undelegate()，用于解除事件绑定</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1511/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jquery1.4中你不可不知的九大改进</title>
		<link>http://www.36ria.com/1378</link>
		<comments>http://www.36ria.com/1378#comments</comments>
		<pubDate>Sat, 23 Jan 2010 02:23:59 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery1.4]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1378</guid>
		<description><![CDATA[花了一周时间终于将jquery1.4的新的API以及特性介绍完毕。 jquery1.4发布信息和下载请看：http://www.36ria.com/?p=1340  jquery1.4的变化不可谓不大，今天总结下jquery1.4中最为关键的九大变化： 一、便利的设置函数 jquery1.4的大部分设置值对方法都可以设置第二个参数为回调函数。比如：.css(), .attr(), .val(), .html(), .text()。 具体说明请看：http://www.36ria.com/?p=1344 二、ajax方法的改进，留意新增......]]></description>
			<content:encoded><![CDATA[<p>花了一周时间终于将jquery1.4的新的API以及特性介绍完毕。</p>
<p>jquery1.4发布信息和下载请看：<a href="http://www.36ria.com/?p=1340">http://www.36ria.com/?p=1340</a></p>
<p> jquery1.4的变化不可谓不大，今天总结下jquery1.4中最为关键的九大变化：</p>
<h4>一、便利的设置函数</h4>
<p>jquery1.4的大部分设置值对方法都可以设置第二个参数为回调函数。比如：.css(), .attr(), .val(), .html(), .text()。</p>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1344">http://www.36ria.com/?p=1344</a></p>
<h4>二、ajax方法的改进，留意新增一个全新属性Context</h4>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1348">http://www.36ria.com/?p=1348</a></p>
<h4>三、.detach()：用于删除对象，同时保留删除对象数据。</h4>
<p>detach这个方法非常有用，作用近似于.remove()，但比remove来的强大。detach在删除的同时，会返回被删除对象。</p>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1366">http://www.36ria.com/?p=1366</a></p>
<h4>四、.has() ： 测试一个jquery对象是否包含指定的Dom或选择器的对象。</h4>
<p>这个方法非常有用。接受一个参数：选择器或DOM,你可以对只存在指定子节点的jquery对象进行操作。</p>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1368">http://www.36ria.com/?p=1368</a></p>
<h4>五、.nextUntil([selector])：选取jquery对象接下来的同级所有与选择器匹配的对象。</h4>
<p>这个方法很有用。jquery的查找方法next()很常用，但next()只选取接下来的一个对象，无法选取多个。而如果使用siblings()又不方便，1.4新加的nextUntil()就是用于解决这个问题。同时这个方法有个神奇的地方，即找到跟jquery对象选择器一样时候会会终止选取。</p>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1368">http://www.36ria.com/?p=1368</a></p>
<h4>六、jQuery.proxy() ：提取一个函数，并返回一个带有指定作用域的新函数。</h4>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1372">http://www.36ria.com/?p=1372</a></p>
<h4>七、.focusin()和.focusout()</h4>
<p>作用近似于<a href="http://api.jquery.com/focus">focus</a>和blur事件，但是修正了鼠标获取焦点和失去焦点，无法冒泡的问题。</p>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1376">http://www.36ria.com/?p=1376</a></p>
<h4>八、bind()支持批量绑定事件</h4>
<p>具体说明请看：<a href="http://www.36ria.com/?p=1376">http://www.36ria.com/?p=1376</a></p>
<h4>九：快速创建html</h4>
<p>这个改进非常重要，可以减少你不少的代码量。<br />
$(““,{“id” : “test_span”,css:{“display” : “none”}}).appendTo(this);<br />
$()接受第二个参数为一对象字面量，你可以直接在里面给对象添加样式、id、样式名等。不用再像以前那样使用attr()和css()了。<br />
具体说明请看：<a href="http://www.36ria.com/?p=1376">http://www.36ria.com/?p=1376</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1378/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jquery1.4教程四：新增事件和其他改进</title>
		<link>http://www.36ria.com/1376</link>
		<comments>http://www.36ria.com/1376#comments</comments>
		<pubDate>Sat, 23 Jan 2010 02:06:07 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery1.4]]></category>
		<category><![CDATA[jquery1.4教程]]></category>
		<category><![CDATA[jquery1.4示例]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1376</guid>
		<description><![CDATA[jquery1.4中新增了二个事件： .focusin()和.focusout() 作用近似于focus和blur事件，但是修正了鼠标获取焦点和失去焦点，无法冒泡的问题。 还是来看示例：http://www.36ria.com/demo/jquery1.4测试/focusin.html 源代码如下： &#60;p&#62;&#60;input type=&#34;text&#34; /&#62;&#60;/p&#62; $(&#34;p&#34;).bind({ &#160; &#160; &#160; &#160; &#160; &#160; &#160;&#160; &#34;focusin&#34; : function(){ &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; $(th......]]></description>
			<content:encoded><![CDATA[<p>jquery1.4中新增了二个事件：</p>
<h4>.focusin()和.focusout()</h4>
<p>作用近似于<a href="http://api.jquery.com/focus">focus</a>和blur事件，但是修正了鼠标获取焦点和失去焦点，无法冒泡的问题。</p>
<p>还是来看示例：<a href="http://www.36ria.com/demo/jquery1.4测试/focusin.html">http://www.36ria.com/demo/jquery1.4测试/focusin.html</a></p>
<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;">input</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</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">p</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">focusin</span><span style="color: #8b0000;">&quot;</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;">children</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">span</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</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: Gray;"> &amp;&amp;&nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;span /&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Olive;">{</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">id</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">test_span</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">css</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">display</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">none</span><span style="color: #8b0000;">&quot;</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: Green;">this</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;">&quot;</span><span style="color: Red;">测试测试</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">fadeIn</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">fast</span><span style="color: #8b0000;">&quot;</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; &nbsp; &nbsp; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">focusout</span><span style="color: #8b0000;">&quot;</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: Green;">var</span><span style="color: Gray;"> $</span><span style="color: Blue;">span</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><span style="color: Blue;">children</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">span</span><span style="color: #8b0000;">&quot;</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: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">children</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">span</span><span style="color: #8b0000;">&quot;</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: Maroon;">1000</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;">span</span><span style="color: Gray;">.</span><span style="color: Blue;">queue</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(){</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><span style="color: Blue;">remove</span><span style="color: Olive;">()</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><span style="color: Blue;">dequeue</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; </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>在这个示例中我也同时演示了jquery1.4的二大关键改进：</p>
<h4>一、bind()支持批量绑定事件</h4>
<p>示例中，我同时给$(“p”)绑定了focusin和focusout事件。</p>
<h4>二、快速创建html</h4>
<p>这个改进非常重要，可以减少你不少的代码量。<br />
$(“<span />“,{“id” : “test_span”,css:{“display” : “none”}}).appendTo(this);<br />
$()接受第二个参数为一对象字面量，你可以直接在里面给对象添加样式、id、样式名等。不用再像以前那样使用attr()和css()了。<br />
这里有一点必须说明下。第一个参数中的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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;span class='test' &gt;123&lt;/span&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Olive;">{</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">id</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">test_span</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">css</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">display</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> : </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">none</span><span style="color: #8b0000;">&quot;</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: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h2>下面来说说jquery1.4其他方面的改进</h2>
<h4>eq()和get()二个方法支持负数参数</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">eq</span><span style="color: Olive;">(</span><span style="color: Gray;">-</span><span style="color: Maroon;">2</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Gray;">-</span><span style="color: Maroon;">2</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>toggleClass()支持多个样式</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">toggleClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">current active</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<h4>data() 支持批量设值</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">body</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">data</span><span style="color: Olive;">({</span><span style="color: Blue;">one</span><span style="color: Gray;">: </span><span style="color: Maroon;">1</span><span style="color: Gray;">, </span><span style="color: Blue;">two</span><span style="color: Gray;">: </span><span style="color: Maroon;">2</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<h4>after() 参数可以为一个函数</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: Gray;">$</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><span style="color: Blue;">after</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&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><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">className</span><span style="color: Gray;"> + </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: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>将给每个段落都加上一个层<br />
同样before也支持。</p>
<h4>jQuery.param()支持序列化html5表单元素值。</h4>
<p>到此jquery1.4大部分的API都已经介绍完毕，如有补充可以给我留言。</p>
<p>教程中出现的全部示例下载：<br />
<a href="http://www.36ria.com/wp-content/plugins/download-monitor/download.php?id=124" title="名称：jquery1.4测试，下载次数：144，文件大小：9.25 kB" class="btn-download">点此下载</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1376/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jquery1.4教程三：新增方法教程（3）</title>
		<link>http://www.36ria.com/1372</link>
		<comments>http://www.36ria.com/1372#comments</comments>
		<pubDate>Fri, 22 Jan 2010 02:25:14 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery1.4]]></category>
		<category><![CDATA[jquery1.4教程]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1372</guid>
		<description><![CDATA[.last() ：选取与选择器匹配的最后一个对象 在1.4之前，只有$(“:last”)，没有last()这个方法，last()的作用很容易理解。 来看示例：http://www.36ria.com/demo/jquery1.4测试/last.html &#60;&#60;ul&#62; &#160; &#60;li&#62;测试1&#60;/li&#62; &#160; &#60;li&#62;测试2&#60;/li&#62; &#160; &#60;li&#62;测试3&#60;/li&#62; &#160; &#60;li&#62;测试4&#60;/li&#62; &#160; &#60;li&#62;测试5&#60;/li&#62; &#60;/ul&#62; $('li').last().css('background-color', 'red'......]]></description>
			<content:encoded><![CDATA[<h4>.last() ：选取与选择器匹配的最后一个对象</h4>
<p>在1.4之前，只有$(“:last”)，没有last()这个方法，last()的作用很容易理解。</p>
<p>来看示例：<a href="http://www.36ria.com/demo/jquery1.4测试/last.html">http://www.36ria.com/demo/jquery1.4测试/last.html</a></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;">&lt;</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试1</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试2</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试3</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试4</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试5</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</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: Gray;">$</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;">last</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;">background-color</span><span style="color: #8b0000;">'</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: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $</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;">first</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;">background-color</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">green</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>从示例中可以看到，最后一个li的背景设置成了红色。</p>
<p>既然有.last()，当然也有.first()，作用相反，这里就不在演示。</p>
<h4>jQuery.proxy() ：提取一个函数，并返回一个带有指定作用域的新函数。</h4>
<p>这个函数有些不好理解，留意我写的demo，此函数的作用更多体现在事件监听中，改变的是this德指向。重点说明下：</p>
<p>jQuery.proxy( function, scope )：</p>
<ul>
<li>第一个参数，为将被改变作用域的函数</li>
<li>第二个参数，新的作用域</li>
</ul>
<p>jQuery.proxy( scope, name )：</p>
<ul>
<li>第一个参数：用于设置作用域的对象</li>
<li>第二个参数：作用域将被改变的函数名</li>
</ul>
<p>来看demo：<a href="http://www.36ria.com/demo/jquery1.4测试/proxy.html">http://www.36ria.com/demo/jquery1.4测试/proxy.html</a><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: Olive;">&lt;</span><span style="color: Green;">input</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;">t</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;">t</span><span style="color: #8b0000;">&quot;</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;">button</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;">不使用proxy()</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;">input</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;">test</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;">test</span><span style="color: #8b0000;">&quot;</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;">button</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;">使用proxy()</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</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;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">obj</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">name</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">RIA之家</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">test</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&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;">name</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: #ffa500;">// $(&quot;#test&quot;).unbind(&quot;click&quot;, obj.test);</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj2</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Blue;">name</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">36ria</span><span style="color: #8b0000;">&quot;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#t</span><span style="color: #8b0000;">&quot;</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; </span><span style="color: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">test</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#test</span><span style="color: #8b0000;">&quot;</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: Blue;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">proxy</span><span style="color: Olive;">(</span><span style="color: Blue;">obj</span><span style="color: Gray;">.</span><span style="color: Blue;">test</span><span style="color: Gray;">, </span><span style="color: Blue;">obj2</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>从示例中可以看到：</p>
<p>jQuery.proxy()返回的是一个函数。</p>
<p>jQuery.proxy(obj.test, obj2)：将原test()中的this.name的this，指向obj2。所有新的函数返回的值为obj2中的name，而不是obj的name。</p>
<h4>.toArray() ：将juqery对象内容序列化成数组</h4>
<p>这个方法很好理解。但有一点要说明下，返回的是DOM对象数组。</p>
<p>来看示例：<a href="http://www.36ria.com/demo/jquery1.4测试/toArray.html">http://www.36ria.com/demo/jquery1.4测试/toArray.html</a><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: Olive;">&lt;</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试1</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;">div</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试2</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;">div</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试3</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;">h4</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">h4</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">input</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;">test</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;">test</span><span style="color: #8b0000;">&quot;</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;">button</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: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#test</span><span style="color: #8b0000;">&quot;</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; </span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">divs</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">toArray</span><span style="color: Olive;">()</span><span style="color: Gray;">;</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;">aHtml</span><span style="color: Gray;"> = </span><span style="color: Olive;">[]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $.</span><span style="color: Blue;">each</span><span style="color: Olive;">(</span><span style="color: Blue;">divs</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; </span><span style="color: Blue;">aHtml</span><span style="color: Gray;">.</span><span style="color: Blue;">push</span><span style="color: Olive;">(</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><span style="color: Blue;">html</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;">alert</span><span style="color: Olive;">(</span><span style="color: Blue;">aHtml</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: #8b0000;">&quot;</span><span style="color: Red;">h4</span><span style="color: #8b0000;">&quot;</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: Blue;">aHtml</span><span style="color: Gray;">.</span><span style="color: Blue;">join</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">|</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span></li></ol></div>
<h4>.unwrap() ： 用于删除匹配的父级元素</h4>
<p>大家应该对wrap()这个方法非常熟悉了，1.4新加入的unwrap()作用与wrap()相反，用于删除父级元素。</p>
<p>来看示例：<a href="http://www.36ria.com/demo/jquery1.4测试/unwrap.html">http://www.36ria.com/demo/jquery1.4测试/unwrap.html</a></p>
<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;</span><span style="color: Gray;">测试1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试3</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">input</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;">test</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;">test</span><span style="color: #8b0000;">&quot;</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;">button</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: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#test</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">toggle</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">p</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">wrap</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&lt;div&gt;&lt;/div&gt;</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Olive;">(){</span></li>
<li><span style="color: Gray;">&nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">p</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">unwrap</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>从示例中可以看到，当第一次点击时，给p包裹一个div，再点击时使用unwrap()删除父级的div。</p>
<p>至此jquery1.4新增的方法，全部介绍完毕，有问题的可以给我留言，下期介绍新增事件。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1372/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jquery1.4教程三：新增方法教程（2）</title>
		<link>http://www.36ria.com/1368</link>
		<comments>http://www.36ria.com/1368#comments</comments>
		<pubDate>Thu, 21 Jan 2010 08:16:35 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery1.4]]></category>
		<category><![CDATA[jquery1.4教程]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1368</guid>
		<description><![CDATA[这篇教程将继续介绍jquery1.4新的实用方法： .has() ： 测试一个jquery对象是否包含指定的Dom或选择器的对象。 这个方法非常有用。接受一个参数：选择器或DOM,你可以对只存在指定子节点的jquery对象进行操作。 来看demo：http://www.36ria.com/demo/jquery1.4测试/has.html 源代码如下： &#60;ul&#62; &#160; &#60;li&#62;测试1&#60;/li&#62; &#160; &#60;li&#62;测试2 &#160; &#160; &#60;ul&#62; &#160; &#160; &#160; &#60;li&#62;测......]]></description>
			<content:encoded><![CDATA[<p>这篇教程将继续介绍jquery1.4新的实用方法：</p>
<h4>.has() ： 测试一个jquery对象是否包含指定的Dom或选择器的对象。</h4>
<p>这个方法非常有用。接受一个参数：选择器或DOM,你可以对只存在指定子节点的jquery对象进行操作。</p>
<p>来看demo：<a href="http://www.36ria.com/demo/jquery1.4测试/has.html">http://www.36ria.com/demo/jquery1.4测试/has.html</a><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: Olive;">&lt;</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试1</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试2</span></li>
<li><span style="color: Gray;">&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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试2.1</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试2.1</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; </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; </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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试3</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; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">测试4</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">li</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">ul</span><span style="color: Olive;">&gt;</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: Gray;">$</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;">has</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><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">background-color</span><span style="color: #8b0000;">'</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: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>示例中只有嵌套ul的li才加上红色背景。</p>
<h4>jQuery.isEmptyObject() ：测试一个对象是否为空</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;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">isEmptyObject</span><span style="color: Olive;">({})</span><span style="color: Gray;"> </span><span style="color: #ffa500;">// true</span></li>
<li><span style="color: Blue;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">isEmptyObject</span><span style="color: Olive;">({</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">foo</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">bar</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">})</span><span style="color: Gray;"> </span><span style="color: #ffa500;">// false</span></li></ol></div>
<h4>jQuery.isPlainObject() ：测试变量类型是否为Object</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;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">isPlainObject</span><span style="color: Olive;">({})</span><span style="color: Gray;"> </span><span style="color: #ffa500;">// true</span></li>
<li><span style="color: Blue;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">isPlainObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">test</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;">// false</span></li></ol></div>
<h4>.nextUntil([selector])：选取jquery对象接下来的同级所有与选择器匹配的对象。</h4>
<p>这个方法很有用。jquery的查找方法next()很常用，但next()只选取接下来的一个对象，无法选取多个。而如果使用siblings()又不方便，1.4新加的nextUntil()就是用于解决这个问题。同时这个方法有个神奇的地方，即找到跟jquery对象选择器一样时候会会终止选取。有些拗口，看下面示例</p>
<p>来看示例：<a href="http://www.36ria.com/demo/jquery1.4测试/nextUntil.html">http://www.36ria.com/demo/jquery1.4测试/nextUntil.html</a></p>
<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;">dl</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dt</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dt1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dt</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd3</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd4</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dt</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;">term-2</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dt2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dt</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd3</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dt</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dt3</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dt</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd1</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">dd2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">dd</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">dl</span><span style="color: Olive;">&gt;</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: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#term-2</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">nextUntil</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">dt</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;">background-color</span><span style="color: #8b0000;">'</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: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>可以看到，只选中了$(&#8216;#term-2&#8242;)以下的dd，但是遇到下个 &lt;dt&gt;dt3&lt;/dt&gt;时就终止选取了！</p>
<p>既然有nextUntil当然就有prevUntil，作用相反，这里就不再做演示。</p>
<h4>jQuery.noop() ：返回一个空函数</h4>
<p>这个方法对制作插件有些用处。</p>
<h4>.parentsUntil( [ selector ] )</h4>
<p>这个方法，我不知道如何才能表述的易于理解。还是看官方英文说明：<a href="http://api.jquery.com/parentsUntil/">http://api.jquery.com/parentsUntil/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1368/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery1.4教程三：新增方法教程（1）</title>
		<link>http://www.36ria.com/1366</link>
		<comments>http://www.36ria.com/1366#comments</comments>
		<pubDate>Wed, 20 Jan 2010 02:50:34 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[jquery教程]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquery1.4]]></category>
		<category><![CDATA[jquery1.4教程]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=1366</guid>
		<description><![CDATA[接下来几篇教程，将重点讲解jquery1.4新增的16个方法，有几个方法还是非常实用的。 .clearQueue()：移除队列中还没有运行的所有函数 clearQueue()的作用与stop(true)很类似，简化了stop(true)，在1.4后stop()主要用于终止动画，而终止队列函数使用clearQueue()，clearQueue()接受一个参数：队列名称，即移除特定队列。 来看demo：http://www.36ria.com/demo/jquery1.4测试/clearQueue.html 源代码如下： &#60;input ......]]></description>
			<content:encoded><![CDATA[<p>接下来几篇教程，将重点讲解jquery1.4新增的16个方法，有几个方法还是非常实用的。</p>
<h4>.clearQueue()：移除队列中还没有运行的所有函数</h4>
<p>clearQueue()的作用与stop(true)很类似，简化了stop(true)，在1.4后stop()主要用于终止动画，而终止队列函数使用clearQueue()，clearQueue()接受一个参数：队列名称，即移除特定队列。</p>
<p>来看demo：<a href="http://www.36ria.com/demo/jquery1.4测试/clearQueue.html">http://www.36ria.com/demo/jquery1.4测试/clearQueue.html</a></p>
<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;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&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;">start</span><span style="color: #8b0000;">&quot;</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;">button</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: #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;">input</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&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;">stop</span><span style="color: #8b0000;">&quot;</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;">button</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: #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;">div</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">div</span><span style="color: Olive;">&gt;</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: Gray;">$</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: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#start</span><span style="color: #8b0000;">&quot;</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: 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; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</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: #8b0000;">&quot;</span><span style="color: Red;">slow</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">left</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">+=200</span><span style="color: #8b0000;">'</span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: Maroon;">5000</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">queue</span><span style="color: Olive;">(</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; $</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;">addClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">newcolor</span><span style="color: #8b0000;">&quot;</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: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">dequeue</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">animate</span><span style="color: Olive;">({</span><span style="color: Blue;">left</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">-=200</span><span style="color: #8b0000;">'</span><span style="color: Olive;">}</span><span style="color: Gray;">,</span><span style="color: Maroon;">1500</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">queue</span><span style="color: Olive;">(</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; $</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;">removeClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">newcolor</span><span style="color: #8b0000;">&quot;</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: Green;">this</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">dequeue</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">slideUp</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: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#stop</span><span style="color: #8b0000;">&quot;</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: 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; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">clearQueue</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">div</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">stop</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; &nbsp; </span></li>
<li><span style="color: Olive;">})</span></li></ol></div>
<p>留意stop的监听函数中的<br />
	  $(“div”).clearQueue();<br />
	  $(“div”).stop();<br />
大家可以看看将 这二句其中一句注释掉后，看下效果，体会下clearQueue与stop的区别。</p>
<h4>.contains()：检查一个DOM元素是否包含另外一个DOM元素</h4>
<p>留意contains接受二个参数是DOM元素，如下形式：</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;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">contains</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">documentElement</span><span style="color: Gray;">, </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">body</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true</span></li>
<li><span style="color: Blue;">jQuery</span><span style="color: Gray;">.</span><span style="color: Blue;">contains</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">body</span><span style="color: Gray;">, </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">documentElement</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// false</span></li></ol></div>
<h4>.delay()：设置一个定时器，用于延迟队列中函数的运行</h4>
<p>接受二个参数：</p>
<ol>
<li>第一个参数：用于定时器的持续时间</li>
<li>第二个参数：对列名（可选）</li>
</ol>
<p>来看demo：<a href="http://www.36ria.com/demo/jquery1.4测试/delay.html">http://www.36ria.com/demo/jquery1.4测试/delay.html</a><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: Olive;">&lt;</span><span style="color: Green;">html</span><span style="color: Gray;"> </span><span style="color: #00008b;">xmlns</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.w3.org/1999/xhtml</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;">head</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">meta</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">http-equiv</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-Type</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">content</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/html; charset=utf-8</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;">title</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">delay()</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">title</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;">http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.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;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">style</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">div { width: 60px; height: 60px; float: left; }</span></li>
<li><span style="color: Gray;">.first { background-color: #3f3; }</span></li>
<li><span style="color: Gray;">.second { background-color: #33f;}</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">style</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">head</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">body</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">button</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">运行</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">button</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></li>
<li><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;">first</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>
<li><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;">second</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>
<li><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $(&quot;button&quot;).click(function() {</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $(&quot;div.first&quot;).slideUp(300).delay(800).fadeIn(400);</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; $(&quot;div.second&quot;).slideUp(300).fadeIn(400);</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; });</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">body</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">html</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>留意第一个绿色的层，在隐藏后，延迟了800毫秒才又触发fadeIn显示。</p>
<h4>.detach()：用于删除对象，同时保留删除对象数据。</h4>
<p>detach这个方法非常有用，作用近似于.remove()，但比remove来的强大。detach在删除的同时，会返回被删除对象。<br />
来看demo：<a href="http://www.36ria.com/demo/jquery1.4测试/detach.html">http://www.36ria.com/demo/jquery1.4测试/detach.html</a><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: Olive;">&lt;</span><span style="color: Green;">html</span><span style="color: Gray;"> </span><span style="color: #00008b;">xmlns</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.w3.org/1999/xhtml</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;">head</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">meta</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">http-equiv</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-Type</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">content</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/html; charset=utf-8</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;">title</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">detach()</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">title</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;">http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.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;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">style</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">p { background:yellow; margin:6px 0; } p.off { background: black; }</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">style</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">head</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">body</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">button</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">添加/删除段落</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">button</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&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;</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; var p;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $(&quot;button&quot;).click(function(){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; if (p) {</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; p.appendTo(&quot;body&quot;);</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; p = null;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; } else {</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; p = $(&quot;p&quot;).detach();</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; }</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; });</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">body</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">html</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>留意p = $(“p”).detach();。删除了$(“p”)。但将$(“p”)写入了p 这个变量。</p>
<p>所有教程结束了，将把所有demo压缩下放出。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.36ria.com/1366/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

