<?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>潔靜精微 &#187; jquery</title>
	<atom:link href="http://julabs.me/blog/tags/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://julabs.me/blog</link>
	<description>想努力创造完美的东西，必须具备心灵的纯洁，同时富于宗教精神。</description>
	<lastBuildDate>Wed, 18 Jan 2012 06:34:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>PHP中的jQuery：PHP Simple HTML DOM Parser</title>
		<link>http://julabs.me/blog/php/php-simple-html-dom-parser/</link>
		<comments>http://julabs.me/blog/php/php-simple-html-dom-parser/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 15:47:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=386</guid>
		<description><![CDATA[PHP Simple HTML DOM Parser可以用类似于jQuery的语法格式来查找和修改DOM代码，非常强大易用，对于不严谨的HTML码她也能正常解析。看看下面的这些代码，是不是觉得非常像jQuery： // 创建DOM对象 $html = file_get_html('http://www.google.com/'); // 查找所有的链接，返回一个元素集合 $ret = $html-&#62;find('a'); // 返回第一个被查到的链接，如果没有找到会返回 null $ret = $html-&#62;find('a', 0); // 查找一个ID值为 foo 的元素 $ret = $html-&#62;find('#foo'); // 查找所有拥有 foo 样式名称的元素 $ret = $html-&#62;find('.foo'); // 查找所有a和img元素 $ret = &#8230; <a href="http://julabs.me/blog/php/php-simple-html-dom-parser/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://simplehtmldom.sourceforge.net/" target="_blank">PHP Simple HTML DOM Parser</a>可以用类似于<a href="http://jquery.com/" target="_blank">jQuery</a>的语法格式来查找和修改<abbr title="Document Object Model">DOM</abbr>代码，非常强大易用，对于不严谨的<abbr title="Hypertext Markup Language">HTML</abbr>码她也能正常解析。看看下面的这些代码，是不是觉得非常像<a href="http://jquery.com/" target="_blank">jQuery</a>：</p>
<pre><code class="php">// 创建DOM对象
$html = file_get_html('http://www.google.com/');

// 查找所有的链接，返回一个元素集合
$ret = $html-&gt;find('a');

// 返回第一个被查到的链接，如果没有找到会返回 null
$ret = $html-&gt;find('a', 0);

// 查找一个ID值为 foo 的元素
$ret = $html-&gt;find('#foo');

// 查找所有拥有 foo 样式名称的元素
$ret = $html-&gt;find('.foo');

// 查找所有a和img元素
$ret = $html-&gt;find('a,img');

// 查找所有在ul中的li
$ret = $html-&gt;find('ul li');

// 查找拥有样式名称为 hello 表格下的所有 td  元素
$es = $html-&gt;find('table.hello td');

// 查找拥有以 hello 开头的样式名称的 div 元素
$es = $html-&gt;find('div[class^="hello"]');
</code></pre>
<p>使用过<a href="http://jquery.com/" target="_blank">jQuery</a>的人应该对上面的代码风格感到非常亲切，<a href="http://simplehtmldom.sourceforge.net/" target="_blank">PHP Simple HTML DOM Parser</a>除了可以查找寻址<abbr title="Document Object Model">DOM</abbr>元素，还可以修改<abbr title="Document Object Model">DOM</abbr>，演示代码如下：</p>
<p><span id="more-386"></span></p>
<pre><code class="php">// 获得元素的 href 属性(如果属性是像 checked,selected这种类型，则返回 true 或 false)
$value = $e-&gt;href;

// 设置属性
$e-&gt;href = 'my link';

// 删除属性
$e-&gt;href = null;

// 判断元素是否拥有某种属性
if(isset($e-&gt;href))
	echo 'href exist!';
</code></pre>
<p>今人惊奇的是<a href="http://simplehtmldom.sourceforge.net/" target="_blank">PHP Simple HTML DOM Parser</a>竟然也支持类似于<a href="http://jquery.com/" target="_blank">jQuery</a>的<strong>链式</strong>功能，看下面的代码：</p>
<pre><code class="php">
echo $html-&gt;find("#div1", 0)-&gt;children(1)-&gt;children(1)-&gt;children(2)-&gt;id;
</code></pre>
<p>看了上面的演示代码，觉得<a href="http://simplehtmldom.sourceforge.net/" target="_blank">PHP Simple HTML DOM Parser</a>真是非常地强大，完整的功能演示与用法可以到她的<a href="http://simplehtmldom.sourceforge.net/" target="_blank">官方网站</a>上查找。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/php/php-simple-html-dom-parser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Address API文档——Methods（方法）</title>
		<link>http://julabs.me/blog/front/jquery-plugin-deep-linking-methods/</link>
		<comments>http://julabs.me/blog/front/jquery-plugin-deep-linking-methods/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 14:29:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=189</guid>
		<description><![CDATA[关于jQuery Address的Events（事件）和Functions（函数）部分请看《jQuery的历史插件》一文。 Methods（方法） 下面的方法以链接地址http://julabs.me/blog/address.php#/jquery/address.html?site=julabs&#38;name=jon#welcome为例。 $.address.baseURL() 返回：String对象 获得文档的基地址，本例为：http://julabs.me/blog/address.php $.address.autoUpdate() 返回：Boolean对象 获得自动更新模式的设置状态 $.address.autoUpdate(value) 返回：jQuery Address对象 设置自动更新模式是否可用，默认为可用。当它被设为可用时会在地址改变时执行jQuery Address对象的$.address.change函数，当被设为不可用时，可以用来命令$.address.update()触发$.address.change函数 $.address.crawling() 返回：Boolean对象 获得crawling模式的设置状态（这个我也不知道是做什么用的&#8211;!，可以不用管它） $.address.crawling(value) 返回：jQuery Address对象 设置crawling模式是否可用，默认为不可用 $.address.hash() 返回：String对象 获得深层链接中的哈希值，本例为：welcome $.address.hash(value) 返回：jQuery Address对象 设置深层链接中的哈希值 $.address.history() 返回：Boolean对象 获得历史模式的设置状态 $.address.history(value) 返回：jQuery Address对象 设置历史模式是否可用，默认为可用。目前还不能支持基于Webkit的浏览器 $.address.parameter(name) 返回：String对象 根据给定的参数获得相应的查询参数值。如：用$.address.parameter('name')语句，在本例中就可以得到jon $.address.parameter(name, &#8230; <a href="http://julabs.me/blog/front/jquery-plugin-deep-linking-methods/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>关于<a target="_blank" href="http://www.asual.com/jquery/address/">jQuery Address</a>的<strong>Events（事件）</strong>和<strong>Functions（函数）</strong>部分请看<a href="/blog/front/jquery-plugin-deep-linking/">《jQuery的历史插件》</a>一文。</p>
<h4>Methods（方法）</h4>
<p>下面的方法以链接地址<strong>http://julabs.me/blog/address.php#/jquery/address.html?site=julabs&amp;name=jon#welcome</strong>为例。</p>
<h5>$.address.baseURL()</h5>
<p>返回：String对象</p>
<p>获得文档的基地址，本例为：<strong>http://julabs.me/blog/address.php</strong></p>
<h5>$.address.autoUpdate()</h5>
<p>返回：Boolean对象</p>
<p>获得自动更新模式的设置状态</p>
<h5>$.address.autoUpdate(value)</h5>
<p>返回：jQuery Address对象</p>
<p>设置自动更新模式是否可用，默认为可用。当它被设为可用时会在地址改变时执行<a href="http://www.asual.com/jquery/address/" target="_blank">jQuery Address</a>对象的<strong>$.address.change</strong>函数，当被设为不可用时，可以用来命令<strong>$.address.update()</strong>触发<strong>$.address.change</strong>函数</p>
<h5>$.address.crawling()</h5>
<p>返回：Boolean对象</p>
<p>获得crawling模式的设置状态（这个我也不知道是做什么用的&#8211;!，可以不用管它）</p>
<h5>$.address.crawling(value)</h5>
<p>返回：jQuery Address对象</p>
<p>设置crawling模式是否可用，默认为不可用</p>
<h5>$.address.hash()</h5>
<p>返回：String对象</p>
<p>获得深层链接中的哈希值，本例为：<strong>welcome</strong></p>
<h5>$.address.hash(value)</h5>
<p>返回：jQuery Address对象</p>
<p>设置深层链接中的哈希值</p>
<h5>$.address.history()</h5>
<p>返回：Boolean对象</p>
<p>获得历史模式的设置状态</p>
<p><span id="more-189"></span></p>
<h5>$.address.history(value)</h5>
<p>返回：jQuery Address对象</p>
<p>设置历史模式是否可用，默认为可用。目前还不能支持基于<a href="http://webkit.org/" target="_blank">Webkit</a>的浏览器</p>
<h5>$.address.parameter(name)</h5>
<p>返回：String对象</p>
<p>根据给定的参数获得相应的查询参数值。如：用<code class="javascript">$.address.parameter('name')</code>语句，在本例中就可以得到<strong>jon</strong></p>
<h5>$.address.parameter(name, value, <em>append</em>)</h5>
<p>返回：jQuery Address对象</p>
<p>设置查询参数值。参数<strong>append</strong>默认为不可用，当传入的参数<strong>value</strong>为数组<code class="javascript">Array</code>对象时，<strong>append</strong>为可用</p>
<h5>$.address.parameterNames()</h5>
<p>返回：Array对象</p>
<p>获得所有的查询参数名称，本例为：<strong>site,name</strong></p>
<h5>$.address.path()</h5>
<p>返回：String对象</p>
<p>获得不包含查询字符和哈希值的深层链接值，本例为：<strong>/jquery/address.html</strong></p>
<h5>$.address.pathNames()</h5>
<p>返回：Array对象</p>
<p>获得深层链接值中的文件夹和文件名称，本例为：<strong>jquery,address.html</strong></p>
<h5>$.address.queryString()</h5>
<p>返回：String对象</p>
<p>获得深层链接值的查询字符，本例为：<strong>site=julabs&amp;name=jon</strong></p>
<h5>$.address.queryString(value)</h5>
<p>返回：jQuery Address对象</p>
<p>设置深层链接值的查询字符</p>
<h5>$.address.strict()</h5>
<p>返回：Boolean对象</p>
<p>获得严格模式的设置状态</p>
<h5>$.address.strict(value)</h5>
<p>返回： jQuery Address对象</p>
<p>设置严格模式是否可用，默认为可用</p>
<h5>$.address.title()</h5>
<p>返回： String对象</p>
<p>获得本页面的<strong>title</strong>（标题）值，本页面为<strong>jQuery的历史插件 &#8211; 潔靜精微</strong></p>
<h5>$.address.title(value)</h5>
<p>返回： jQuery Address对象</p>
<p>设置本页面的<strong>title</strong>（标题）值</p>
<h5>$.address.tracker()</h5>
<p>返回： String对象</p>
<p>获得当前页面查看跟踪函数</p>
<h5>$.address.tracker(value)</h5>
<p>返回： jQuery Address对象</p>
<p>设置当前页面查看跟踪函数，如果跟踪函数存在的话，<a href="http://www.google.com/analytics/" target="_blank">Google Analytics（分析）</a>跟踪程序会自动执行跟踪函数</p>
<h5>$.address.value()</h5>
<p>返回： String对象</p>
<p>获得当前深层链接值，本例为：<strong>/jquery/address.html?site=julabs&amp;name=jon#welcome</strong></p>
<h5>$.address.value(value)</h5>
<p>返回： jQuery Address对象</p>
<p>设置当前深层链接值</p>
<h5>$.address.update()</h5>
<p>返回： jQuery Address对象</p>
<p>在<strong>$.address.autoUpdate()</strong>被设置为不可用时，可以用<strong>$.address.update()</strong>来更新值，执行<a href="http://www.asual.com/jquery/address/" target="_blank">jQuery Address</a>对象的<strong>$.address.change</strong>函数</p>
<h5>$.address.wrap()</h5>
<p>返回：Boolean对象</p>
<p>获得wrap模式设置状态，默认为不可用</p>
<h5>$.address.wrap(value)</h5>
<p>返回：jQuery Address对象</p>
<p>设置wrap模式是否可用</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/jquery-plugin-deep-linking-methods/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>自定义jQuery插件Validate的remote方法</title>
		<link>http://julabs.me/blog/front/custom-remote-of-jquery-validate/</link>
		<comments>http://julabs.me/blog/front/custom-remote-of-jquery-validate/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 15:51:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=184</guid>
		<description><![CDATA[Validate是一个非常好的jQuery表单验证插件，但它有个最让我头疼的地方就是它的remote方法。remote默认用get的方法获得一个json格式的返回信息，而公司用的是XML格式。修改remote的返回格式方法，我在网上找了很久都没有找到，没办法，最后只有自己解决，通过多次试验，终于解决了。在此抛砖引玉，如果大家有更好的方法，可以在这里留言。 这里以Validate的官方演示AJAX CAPTCHA做为例子来说明下。首先修改下process.php文件，原来的代码是 &#60;?php session_start(); if(strtoupper($_GET['captcha']) == $_SESSION['captcha_id']) echo 'true'; else echo 'false'; ?&#62; 原来的代码输出的是json格式，现在改成XML格式的： &#60;?php session_start(); header('Content-Type: text/xml'); echo '&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34; standalone=&#34;yes&#34;?&#62;&#60;isvalid&#62;&#60;result&#62;'; if(strtoupper($_GET['captcha']) == $_SESSION['captcha_id']) echo 'true'; else echo 'false'; echo '&#60;/result&#62;&#60;/isvalid&#62;'; ?&#62; 再改captcha.js文件，这里只例出需要修改的代码段： remote: "process.php" 现在改成这样： remote:{ &#8230; <a href="http://julabs.me/blog/front/custom-remote-of-jquery-validate/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" target="_blank">Validate</a>是一个非常好的jQuery表单验证插件，但它有个最让我头疼的地方就是它的<a href="http://docs.jquery.com/Plugins/Validation/Methods/remote" target="_blank">remote</a>方法。<a href="http://docs.jquery.com/Plugins/Validation/Methods/remote" target="_blank">remote</a>默认用<code>get</code>的方法获得一个<a href="http://www.json.org/json-zh.html" target="_blank">json</a>格式的返回信息，而公司用的是<a href="http://www.w3.org/XML/" target="_blank">XML</a>格式。修改<a href="http://docs.jquery.com/Plugins/Validation/Methods/remote" target="_blank">remote</a>的返回格式方法，我在网上找了很久都没有找到，没办法，最后只有自己解决，通过多次试验，终于解决了。在此抛砖引玉，如果大家有更好的方法，可以在这里留言。</p>
<p>这里以<a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" target="_blank">Validate</a>的<a href="http://jquery.bassistance.de/validate/demo/captcha/" target="_blank">官方演示AJAX CAPTCHA</a>做为例子来说明下。首先修改下process.php文件，原来的代码是</p>
<pre><code class="php">&lt;?php
session_start();
if(strtoupper($_GET['captcha']) == $_SESSION['captcha_id'])
	echo 'true';
else
	echo 'false';
?&gt;
</code></pre>
<p>原来的代码输出的是<a href="http://www.json.org/json-zh.html" target="_blank">json</a>格式，现在改成<a href="http://www.w3.org/XML/" target="_blank">XML</a>格式的：</p>
<pre><code class="php">&lt;?php
session_start();
header('Content-Type: text/xml');
echo '&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&lt;isvalid&gt;&lt;result&gt;';
if(strtoupper($_GET['captcha']) == $_SESSION['captcha_id'])
	echo 'true';
else
	echo 'false';
echo '&lt;/result&gt;&lt;/isvalid&gt;';
?&gt;
</code></pre>
<p>再改captcha.js文件，这里只例出需要修改的代码段：</p>
<pre><code class="javascript">remote: "process.php"
</code></pre>
<p><span id="more-184"></span></p>
<p>现在改成这样：</p>
<pre><code class="javascript">remote:{
    url:&quot;process.php&quot;,
    data:{
        captcha:function(){
        	return $('#captcha').val();
        },
        website:'julabs'
    },
    dataType: &quot;xml&quot;,
    success:function(response){
        var validator = $(&quot;#captchaform&quot;).data('validator');
        var element = $('#captcha').get(0);
        var previous = validator.previousValue(element);
        var valid = false;
        if($(response).find('result').text() === 'true') valid = true;
        if ( valid ) {
            var submitted = validator.formSubmitted;
            validator.prepareElement(element);
            validator.formSubmitted = submitted;
            validator.successList.push(element);
            validator.showErrors();
        } else {
            var errors = {};
            // response 换成 valid
            var message = (previous.message = valid || validator.defaultMessage( element, &quot;remote&quot; ));
            errors[element.name] = $.isFunction(message) ? message(value) : message;
            validator.showErrors(errors);
        }
        previous.valid = valid;
        validator.stopRequest(element, valid);
    }
}
</code></pre>
<p>上面例出的<code>success</code>方法中的大部分代码都是直接使用<strong>jquery.validate.js</strong>文件里的代码，你可以对照下<strong>jquery.validate.js</strong>文件。里面需要注意的是这几句代码：</p>
<pre><code class="javascript">//获得当前 form 的 validator 数据
var validator = $(&quot;#captchaform&quot;).data('validator');

//获得当前验证的元素，注意是 DOM 元素，而不是 jQuery 元素
var element = $('#captcha').get(0);

var previous = validator.previousValue(element);

var valid = false;
/**
 * 根据返回的xml内容来判断 valid 的值，
 * 判断语句可以根据具体情况进行修改
 * Ajax返回的信息格式为：
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;
&lt;isvalid&gt;
	&lt;result&gt;false&lt;/result&gt;
&lt;/isvalid&gt;
*/
if($(response).find('result').text() === 'true') valid = true;
</code></pre>
<p>主要修改的就是上面列举的代码，我也写了注释来说明代码的作用。</p>
<p>今天也发现了一个不是问题的问题，如果<strong>Ajax</strong>的<code>dataType</code>设为<code>xml</code>时，而且在process.php文件中也没有加<code class="php">header('Content-Type: text/xml');</code>代码，那么JS代码就不会执行<code>success</code>方法，这时候可以将<code>dataType</code>设为<code>html</code>就能正常执行了。看来<a href="http://jquery.com/" target="_blank">jQuery</a>可以判断返回内容的格式，还是要好好研究下<a href="http://jquery.com/" target="_blank">jQuery</a>的源代码。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/custom-remote-of-jquery-validate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lazyload——JQuery图片延迟加载插件</title>
		<link>http://julabs.me/blog/front/jquery-plugin-lazy-load/</link>
		<comments>http://julabs.me/blog/front/jquery-plugin-lazy-load/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 05:58:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[img]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=174</guid>
		<description><![CDATA[Lazy Load是一个JQuery插件，它可以延迟下载页面中图片的。视点（viewport）以外的图片在你没有滚动到它的位置之前是不会显示的，这与图片预载的理念正好相反，但是它可以减少一些不必要的下载量。它的用法非常简单，在载入jQuery和Lazy Load代码后，再输入以下代码就可以了： $(&#34;img&#34;).lazyload(); Lazy Load可以实现多种效果，如你可以让图片以渐显的方式显示： $(&#34;img&#34;).lazyload({ effect : &#34;fadeIn&#34; }); Lazy Load图片显示的触发事件你也可以设置成click和mouseover。 $(&#34;img&#34;).lazyload({ event : &#34;click&#34; });]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.appelsiini.net/projects/lazyload">Lazy Load</a>是一个<a target="_blank" href="http://jquery.com/">JQuery</a>插件，它可以延迟下载页面中图片的。视点（viewport）以外的图片在你没有滚动到它的位置之前是不会显示的，这与图片预载的理念正好相反，但是它可以减少一些不必要的下载量。它的用法非常简单，在载入<a href="http://jquery.com/" target="_blank">jQuery</a>和<a target="_blank" href="http://www.appelsiini.net/projects/lazyload">Lazy Load</a>代码后，再输入以下代码就可以了：</p>
<pre><code class="javascript">$(&quot;img&quot;).lazyload();
</code></pre>
<p><a target="_blank" href="http://www.appelsiini.net/projects/lazyload">Lazy Load</a>可以实现多种效果，如你可以让图片以渐显的方式显示：</p>
<pre><code class="javascript">
$(&quot;img&quot;).lazyload({
	effect : &quot;fadeIn&quot;
});
</code></pre>
<p><a target="_blank" href="http://www.appelsiini.net/projects/lazyload">Lazy Load</a>图片显示的触发事件你也可以设置成<code>click</code>和<code>mouseover</code>。</p>
<pre><code class="javascript">
$(&quot;img&quot;).lazyload({
	event : &quot;click&quot;
});
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/jquery-plugin-lazy-load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery的历史插件</title>
		<link>http://julabs.me/blog/front/jquery-plugin-deep-linking/</link>
		<comments>http://julabs.me/blog/front/jquery-plugin-deep-linking/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 09:55:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=112</guid>
		<description><![CDATA[历史导航和刷新问题是使用Ajax中的一个软肋，但可以用JavaScript来弥补这个问题。jquery history plugin是jquery的一款历史刷新插件，但它有时候会出现一些Bug，如回上一页时会不流畅。 而今天要推荐的的插件是jQuery Address，它是另一款jquery插件，可以完美地实现历史导航与刷新问题，另外还有针对Flash导航的SWFAddress。你可以查看它的文档与API，来详细了解它的用法。 jQuery Address使用很简单，最基础的使用方法如下： $.address.change(function(event) { // 根据event.value的值执行相应的命令 // $('#content').load(event.value + '.xml'); }); $('a').click(function() { // 下面这条命令触发$.address.change事件 $.address.value($(this).attr('href')); }); 此插件也提供了一个可以直接使用的方法： $('a').address(); 上面这条命令也可以增加一个函数，来处理链接的值，如下： $('a').address(function() { return $(this).attr('href').replace(/^#/, ''); }); 默认下，此插件会自动给属性rel值为以下格式的链接增加功能： &#60;a href=&#34;/deep-link&#34; rel=&#34;address:/deep-link&#34;&#62;Deep link&#60;/a&#62; 下面是jQuery Address的API参考文档： Events（事件） $.address.change(fn) 返回：jQuery Address对象 当地址改变时会执行所绑定的函数（fn），此函数会接收一个事件对象做为参数，该事件对象包含有以下属性：value，path，pathNames，parameterNames，parameters和queryString。 &#8230; <a href="http://julabs.me/blog/front/jquery-plugin-deep-linking/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>历史导航和刷新问题是使用Ajax中的一个软肋，但可以用JavaScript来弥补这个问题。<a href="http://www.mikage.to/jquery/jquery_history.html" target="_blank">jquery history plugin</a>是<a href="http://jquery.com/" target="_blank">jquery</a>的一款历史刷新插件，但它有时候会出现一些Bug，如回<strong>上一页</strong>时会不流畅。</p>
<p>而今天要推荐的的插件是<a href="http://www.asual.com/jquery/address/" target="_blank">jQuery Address</a>，它是另一款<a href="http://jquery.com/" target="_blank">jquery</a>插件，可以完美地实现历史导航与刷新问题，另外还有针对Flash导航的<a href="http://www.asual.com/swfaddress/" target="_blank">SWFAddress</a>。你可以查看它的<a href="http://www.asual.com/jquery/address/docs/" target="_blank">文档</a>与<a href="http://www.asual.com/jquery/address/samples/api/" target="_blank">API</a>，来详细了解它的用法。</p>
<p><a href="http://www.asual.com/jquery/address/" target="_blank">jQuery Address</a>使用很简单，最基础的使用方法如下：</p>
<pre><code class="javascript">$.address.change(function(event) {
	// 根据event.value的值执行相应的命令
	// $('#content').load(event.value + '.xml');
});
$('a').click(function() {
	// 下面这条命令触发$.address.change事件
	$.address.value($(this).attr('href'));
});</code></pre>
<p>此插件也提供了一个可以直接使用的方法：</p>
<pre><code class="javascript">$('a').address();
</code></pre>
<p>上面这条命令也可以增加一个函数，来处理链接的值，如下：</p>
<pre><code class="javascript">$('a').address(function() {
	return $(this).attr('href').replace(/^#/, '');
});  </code></pre>
<p>默认下，此插件会自动给属性<strong>rel</strong>值为以下格式的链接增加功能：</p>
<pre><code class="html">&lt;a href=&quot;/deep-link&quot; rel=&quot;address:/deep-link&quot;&gt;Deep link&lt;/a&gt;
</code></pre>
<p>下面是<a href="http://www.asual.com/jquery/address/" target="_blank">jQuery Address</a>的API参考文档：</p>
<h4>Events（事件）</h4>
<h5>$.address.change(fn)</h5>
<p>返回：jQuery Address对象</p>
<p>当地址改变时会执行所绑定的函数（fn），此函数会接收一个事件对象做为参数，该事件对象包含有以下属性：value，path，pathNames，parameterNames，parameters和queryString。</p>
<h5>$.address.init(fn)</h5>
<p>返回：jQuery Address对象</p>
<p>当插件初始化时会执行所绑定的函数（fn），此函数只能执行一次，它会接收一个事件对象做为参数，该事件对象包含有以下属性：value，path，pathNames，parameterNames，parameters和queryString。</p>
<h5>$.address.internalChange(fn)</h5>
<p>返回：jQuery Address对象</p>
<p>当改变地址的行为来源于页面时，如点击页面中的一个链接，会执行所绑定的函数（fn），此函数会接收一个事件对象做为参数，该事件对象包含有以下属性：value，path，pathNames，parameterNames，parameters和queryString。</p>
<h5>$.address.externalChange(fn)</h5>
<p>返回：jQuery Address对象</p>
<p>当改变地址的行为来源于浏览器时，如点击浏览器的前进与后退按钮，会执行所绑定的函数（fn），此函数会接收一个事件对象做为参数，该事件对象包含有以下属性：value，path，pathNames，parameterNames，parameters和queryString。</p>
<h4>Functions（函数）</h4>
<h5>address(fn)</h5>
<p>返回：jQuery对象</p>
<p>为DOM元素增加本插件的功能，同时会取消DOM元素的默认行为。支持链接和表单，可以根据传入的参数值进行自定义。</p>
<p>这篇文章只翻译了<a target="_blank" href="http://www.asual.com/jquery/address/">jQuery Address</a>的<strong>Events（事件）</strong>和<strong>Functions（函数）</strong>部分，<strong>Methods（方法）</strong>部分请查看<a href="/blog/front/jquery-plugin-deep-linking-methods/">《jQuery Address API文档——Methods（方法）》</a>一文。</p>
<h4>附：</h4>
<p>无意中看到一篇介绍<strong>Deep Linking</strong>的文章：<a href="http://www.impressivewebs.com/deep-linking-javascript-ajax/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+ImpressiveWebs+%28Impressive+Webs%29" target="_blank">《Deep Linking in JavaScript and Ajax Applications》</a>，里面详细地介绍了<strong>Deep Linking</strong>的理念和解决方法，很值得一看。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/jquery-plugin-deep-linking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>卡片式的jQuery像册插件</title>
		<link>http://julabs.me/blog/front/jquery-plugin-gallery-card/</link>
		<comments>http://julabs.me/blog/front/jquery-plugin-gallery-card/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 09:52:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=110</guid>
		<description><![CDATA[说起来有点土，jQuery的像册插件见过很多，像这样效果的还是第一次见到。如果是在支持CSS3的浏览器中，效果更酷，可以看到图片倾斜的效果。以后的工作中可能会用到这个插件，在这里收藏下。 这款插件的详细介绍和用法请点击这里查看。]]></description>
			<content:encoded><![CDATA[<p class="img"><a href="http://tutorialzine.com/2009/11/hovering-gallery-css3-jquery/" target="_blank"><img height="460" width="600" alt="CSS3 Lightbox Gallery With jQuery" src="/blog/img/09/card_gallery.jpg"/></a></p>
<p>说起来有点土，jQuery的像册插件见过很多，像这样效果的还是第一次见到。如果是在支持CSS3的浏览器中，效果更酷，可以看到图片倾斜的效果。以后的工作中可能会用到这个插件，在这里收藏下。</p>
<p>这款插件的详细介绍和用法请<a href="http://tutorialzine.com/2009/11/hovering-gallery-css3-jquery/" target="_blank">点击这里</a>查看。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/jquery-plugin-gallery-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>华丽的Accordion</title>
		<link>http://julabs.me/blog/front/marghoobsuleman-accordion/</link>
		<comments>http://julabs.me/blog/front/marghoobsuleman-accordion/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 09:44:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=101</guid>
		<description><![CDATA[这段时间要做个页面，里面有个Accordion效果的图片导航，刚开始先用的jQuery TOOLS，但却没有找到自动滑动的功能，于是开始找其它的Jquery插件，最后终于找到了jQuery Accordion Common。Demo演示请点击这里观看。 这个插件做地非常简洁优雅，使用也简单，但效果极其华丽（也可能是它的演示图片华丽吧），看看演示就知道了。 jQuery Accordion Common的作者是个全才，不仅精通JavaScript、XHTML、CSS这些前端技术，而且还会设计和后台编程，PS、FL软件都不在话下，让我这个菜鸟看了有些自卑。]]></description>
			<content:encoded><![CDATA[<p>这段时间要做个页面，里面有个Accordion效果的图片导航，刚开始先用的<a href="http://flowplayer.org/tools/index.html" target="_blank">jQuery TOOLS</a>，但却没有找到自动滑动的功能，于是开始找其它的<a href="http://jquery.com/" target="_blank">Jquery</a>插件，最后终于找到了<a href="http://www.marghoobsuleman.com/blogs/jQuery-accordion-common" target="_blank">jQuery Accordion Common</a>。Demo演示<a href="http://www.marghoobsuleman.com/mywork/jcomponents/accordion-common/accordion.html" target="_blank">请点击这里</a>观看。</p>
<p class="img">
<a href="http://www.marghoobsuleman.com/blogs/jQuery-accordion-common" target="_blank"><img height="199" width="696" alt="jQuery Accordion Common" src="/blog/img/09/accordion_common.png"/></a>
</p>
<p>这个插件做地非常简洁优雅，使用也简单，但效果极其华丽（也可能是它的演示图片华丽吧），看看<a href="http://www.marghoobsuleman.com/mywork/jcomponents/accordion-common/accordion.html" target="_blank">演示</a>就知道了。</p>
<p><a href="http://www.marghoobsuleman.com/blogs/jQuery-accordion-common" target="_blank">jQuery Accordion Common</a>的作者是个全才，不仅精通<strong>JavaScript</strong>、<strong>XHTML</strong>、<strong>CSS</strong>这些前端技术，而且还会设计和后台编程，PS、FL软件都不在话下，让我这个菜鸟看了有些自卑。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/marghoobsuleman-accordion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

