<?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; ajax与jquery</title>
	<atom:link href="http://www.36ria.com/category/jq/ajax%e4%b8%8ejquery/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>使用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>ajax切换不同页面教程</title>
		<link>http://www.36ria.com/606</link>
		<comments>http://www.36ria.com/606#comments</comments>
		<pubDate>Sat, 24 Oct 2009 01:30:03 +0000</pubDate>
		<dc:creator>明河共影</dc:creator>
				<category><![CDATA[ajax与jquery]]></category>
		<category><![CDATA[ajax+jquery]]></category>

		<guid isPermaLink="false">http://www.36ria.cn/?p=606</guid>
		<description><![CDATA[当用户点击菜单项时，会向后台发送页码，后台根据页码来返回不同页面。同时使用了jquery.history插件，来解决ajax无法后退记录历史的问题。 来看构建过程 首先先建立如下菜单html结构 &#60;ul&#62;&#160; &#160; &#160; &#60;li&#62;&#60;a&#160;href=&#34;#page1&#34; rel=&#34;ajax&#34;&#62;Home&#60;/a&#62;&#60;/li&#62;&#160; &#160; &#160; &#160; &#60;li&#62;&#60;a&#160;href=&#34;#page2&#34; rel=&#34;ajax&#34;&#62;Portfolio&#60;/a&#62;&#60;/......]]></description>
			<content:encoded><![CDATA[<p>当用户点击菜单项时，会向后台发送页码，后台根据页码来返回不同页面。同时使用了jquery.history插件，来解决ajax无法后退记录历史的问题。</p>
<ul class="tow-columns clearfix">
<li class="l"><a href="http://www.36ria.com/example/ajax/simple.php" 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=76" title="名称：ajax，下载次数：187，文件大小：57.52 kB" class="btn-download">点此下载</a></li>
</ul>
<h2>来看构建过程</h2>
<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;">ul</span><span style="color: Olive;">&gt;</span><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;">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;">#page1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">rel</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ajax</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Home</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><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&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;">#page2</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">rel</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ajax</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Portfolio</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><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&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;">#page3</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">rel</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ajax</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">About</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><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;">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;">#page4</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">rel</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ajax</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Contact</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><span style="color: Gray;">&nbsp; </span></li>
<li><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></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;">loading</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><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;">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;">content</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: #ffa500;">&lt;!-- Ajax Content --&gt;</span><span style="color: Gray;">&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>
<p>说明下：.loading为预加载动画容器，而#content为装返回的页面html的容器。</p>
<h4>构建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;">.loading</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: Green;">background:</span><span style="color: Gray;"> url(images/load.gif) </span><span style="color: Red;">no-repeat</span><span style="color: Gray;">;&nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Red;">none</span><span style="color: Gray;">;&nbsp;&nbsp; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span></li>
<li><span style="color: Blue;">#content</span><span style="color: Gray;">&nbsp;</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: Green;">font-family:</span><span style="color: Gray;">arial</span><span style="color: Gray;">;&nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">font-size:</span><span style="color: Maroon;">11</span><span style="color: Red;">px</span><span style="color: Gray;">;&nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">display:</span><span style="color: Red;">none</span><span style="color: Gray;">;&nbsp;&nbsp; </span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>（实例包里面的css中有个错误，不是#loading 而是.loading，使用时请留意。）</p>
<h4>来看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: Gray;"> </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;">//检查url是否包含页码信息</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $.</span><span style="color: Blue;">history</span><span style="color: Gray;">.</span><span style="color: Blue;">init</span><span style="color: Olive;">(</span><span style="color: Blue;">pageload</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &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;">a[href=</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">location</span><span style="color: Gray;">.</span><span style="color: Blue;">hash</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">]</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">addClass</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">selected</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: #ffa500;">//给a绑定单击事件</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[rel=ajax]</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: 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></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//获取其href属性值</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;">hash</span><span style="color: Gray;"> = </span><span style="color: Green;">this</span><span style="color: Gray;">.</span><span style="color: Blue;">href</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;">hash</span><span style="color: Gray;"> = </span><span style="color: Blue;">hash</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;">^.*#</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></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;&nbsp; $.</span><span style="color: Blue;">history</span><span style="color: Gray;">.</span><span style="color: Blue;">load</span><span style="color: Olive;">(</span><span style="color: Blue;">hash</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">//清理所有a的被选中的样式，给当前对象加被选中的样式</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">a[rel=ajax]</span><span style="color: #8b0000;">'</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;">'</span><span style="color: Red;">selected</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; $</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;">'</span><span style="color: Red;">selected</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; </span></li>
<li><span style="color: Gray;">&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: #8b0000;">'</span><span style="color: Red;">#content</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>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; $</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;">.</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; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">//运行ajax</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">getPage</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;">//取消a的默认动作</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;">;&nbsp; &nbsp; </span></li>
<li><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;</span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">pageload</span><span style="color: Olive;">(</span><span style="color: Blue;">hash</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;">//如果存在历史记录，读取相应页面</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;">hash</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Blue;">getPage</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; &nbsp; </span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">getPage</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;">//参数</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;">data</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">page=</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Blue;">encodeURIComponent</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">location</span><span style="color: Gray;">.</span><span style="color: Blue;">hash</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; $.</span><span style="color: Blue;">ajax</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">url</span><span style="color: Gray;">: </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">loader.php</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&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;">,&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">data</span><span style="color: Gray;">: </span><span style="color: Blue;">data</span><span style="color: Gray;">,&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cache</span><span style="color: Gray;">: </span><span style="color: Green;">false</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </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: Blue;">html</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; &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: 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;">.</span><span style="color: Blue;">hide</span><span style="color: Olive;">()</span><span style="color: Gray;">;&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: #ffa500;">//加入内容</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;">#content</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;">html</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><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><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;">;&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; &nbsp; </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/606/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

