<?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>&#34;刘华栋&#34;的个人网站 &#187; JavaScript</title>
	<atom:link href="http://www.liuhuadong.com/archives/category/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liuhuadong.com</link>
	<description>我的日子依旧很简单，梦想一直没改变</description>
	<lastBuildDate>Thu, 29 Jul 2010 22:36:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>jquery flot 对ie6/7/8支持问题</title>
		<link>http://www.liuhuadong.com/archives/911/index.html</link>
		<comments>http://www.liuhuadong.com/archives/911/index.html#comments</comments>
		<pubDate>Mon, 03 May 2010 03:14:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=911</guid>
		<description><![CDATA[flot是基于jquery的一个chart插件，功能随没有JQchart功能强大（非专业性的图表项目，强大可以用臃肿代替），也没有google chart api使用方便，但这个小东西使用起来还是很方便，显示效果很好。 flot对firefox和chrome支持很好，稍加修饰即可显示出流畅的图表，但在ie下显示空白，看了一些解决方案，说flot不支持ie，其实是早期不支持ie8，现在已经全面对ie进行了支持。如果在ie下显示空白，可以加入&#8221;excanvas.js&#8221;文件(发布包里包含此文件)来修复： &#60;?php&#60;!--[if IE]&#62;&#60;script type=&#34;text/javascript&#34; src=&#34;../excanvas.min.js&#34;&#62;&#60;/script&#62;&#60;![endif]--&#62; 即使加入以上内容，ie还有可能会出现空白，这个问题困扰我了好几个小时，最后检查结论是：在ie下，json数据格式中，不能有多余的逗号（虽然在chrome下显示正常）： &#60;?php$(function () {&#160;&#160; &#160; &#160; &#160;$.plot($(&#34;#newimg&#34;),&#160;&#160; &#160; &#160; &#160; &#160; &#160;[[[0,2],[413,2]],[[0,3],[0,3]]],//这里最后逗号不能少&#160;&#160; &#160; &#160; &#160; &#160; &#160;{&#160;&#160; &#160; &#160; &#160; &#160; &#160;yaxis:{&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;max:&#34;20&#34;,&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;ticks:[[2,&#34;xhat&#34;]],&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;labelwidth:10//最后加逗号chrome正常，ie各版本全部显示空白&#160;&#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>flot是基于jquery的一个chart插件，功能随没有JQchart功能强大（非专业性的图表项目，强大可以用臃肿代替），也没有google chart api使用方便，但这个小东西使用起来还是很方便，显示效果很好。<br />
flot对firefox和chrome支持很好，稍加修饰即可显示出流畅的图表，但在ie下显示空白，看了一些解决方案，说flot不支持ie，其实是早期不支持ie8，现在已经全面对ie进行了支持。如果在ie下显示空白，可以加入&#8221;excanvas.js&#8221;文件(发布包里包含此文件)来修复：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;"><br />&lt;!--</span><span style="color: Olive;">[</span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Blue;">IE</span><span style="color: Olive;">]</span><span style="color: Gray;">&gt;&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">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: Blue;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">../excanvas.min.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt;&lt;/</span><span style="color: Blue;">script</span><span style="color: Gray;">&gt;&lt;!</span><span style="color: Olive;">[</span><span style="color: Green;">endif</span><span style="color: Olive;">]</span><span style="color: Gray;">--&gt;</span></div></div>
<p>即使加入以上内容，ie还有可能会出现空白，这个问题困扰我了好几个小时，最后检查结论是：在ie下，json数据格式中，不能有多余的逗号（虽然在chrome下显示正常）：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;"><br />$</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;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$.</span><span style="color: Blue;">plot</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;">#newimg</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">,<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">[[[</span><span style="color: Maroon;">0</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: Olive;">[</span><span style="color: Maroon;">413</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: Olive;">[[</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">3</span><span style="color: Olive;">]</span><span style="color: Gray;">,</span><span style="color: Olive;">[</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">3</span><span style="color: Olive;">]]]</span><span style="color: Gray;">,</span><span style="color: #ffa500;">//这里最后逗号不能少</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">yaxis</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">max</span><span style="color: Gray;">:</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">20</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">ticks</span><span style="color: Gray;">:</span><span style="color: Olive;">[[</span><span style="color: Maroon;">2</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">xhat</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">]]</span><span style="color: Gray;">,<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">labelwidth</span><span style="color: Gray;">:</span><span style="color: Maroon;">10</span><span style="color: #ffa500;">//最后加逗号chrome正常，ie各版本全部显示空白</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">, <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">shadowSize</span><span style="color: Gray;">:</span><span style="color: Maroon;">5</span><span style="color: Gray;">,<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">lines</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: Blue;">show</span><span style="color: Gray;">:</span><span style="color: Green;">true</span><span style="color: Olive;">}</span><span style="color: Gray;">,<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">points</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: Blue;">show</span><span style="color: Gray;">:</span><span style="color: Green;">true</span><span style="color: Olive;">}</span><span style="color: Gray;">,<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">grid</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: Blue;">hoverable</span><span style="color: Gray;">:</span><span style="color: Green;">true</span><span style="color: Gray;">, </span><span style="color: Blue;">clickable</span><span style="color: Gray;">:</span><span style="color: Green;">true</span><span style="color: Olive;">}</span><span style="color: Gray;">,<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">xaxis</span><span style="color: Gray;">:</span><span style="color: Olive;">{</span><span style="color: Blue;">max</span><span style="color: Gray;">:</span><span style="color: Maroon;">10</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></div></div>
<p>希望这个结论能帮到同样遇到此问题的同学。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/911/index.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>测试一下你的最快击键速度[附排行榜]</title>
		<link>http://www.liuhuadong.com/archives/837/index.html</link>
		<comments>http://www.liuhuadong.com/archives/837/index.html#comments</comments>
		<pubDate>Sun, 04 Apr 2010 07:22:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP/Mysql]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=837</guid>
		<description><![CDATA[输入速度全球排行榜。 作者：刘华栋 2010.4 原创作品，欢迎转载流传 具体使用方法很简单，打开下边这个页面，直接用键盘开始输入字母a到z，顺序不能弄错，输入完成即会自动显示用时。 虽然这可能是个无聊的作品，但还是花了我不少时间才搞定，中间涉及js、css、php、mysql，我自己的26个字母的输入记录是]]></description>
			<content:encoded><![CDATA[<p>输入速度全球排行榜。<br />
作者：<strong>刘华栋</strong> 2010.4 原创作品，欢迎转载流传<br />
<a href="http://www.liuhuadong.com/labs/top.php"><img src="http://www.liuhuadong.com/wp-content/uploads/2010/04/无标题4.png" alt="无标题" title="无标题" width="500" class="alignnone size-full wp-image-841" /></a><br />
具体使用方法很简单，打开下边这个页面，直接用键盘开始输入字母a到z，顺序不能弄错，输入完成即会自动显示用时。<br />
虽然这可能是个无聊的作品，但还是花了我不少时间才搞定，中间涉及js、css、php、mysql，我自己的26个字母的输入记录是<5秒，具体多少忘了。我的目标是达到4s以内，不过看来希望不大。<br />
挑战地址：<a href="http://www.liuhuadong.com/labs/top.php">http://www.liuhuadong.com/labs/top.php</a></p>
<p>tips:<br />
数据库中使用group by的时候，可以同时使用min(字段名)/max(字段名)来获取每个group中的最值，这个sql语法简直太棒了，大大减少坐在电脑前呼出的二氧化碳含量，节能环保。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/837/index.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>js中getYear()在不同浏览器中的兼容性及解决方案</title>
		<link>http://www.liuhuadong.com/archives/704/index.html</link>
		<comments>http://www.liuhuadong.com/archives/704/index.html#comments</comments>
		<pubDate>Mon, 22 Feb 2010 03:53:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=704</guid>
		<description><![CDATA[在调试程序时，客户有要求页首需要增加时间显示。显然就用到了Date()中的getYear()来直接显示年份： var now&#160; = new Date();var year = now.getYear();document.write(year); IE显示正常，但在firefox和chrome下显示为110年（应该显示为1900+110=2010年），在网上搜索了一下答案，得到结论是IE为了提高兼容性，只要通过Date()取得的年份是两位或三位，那么就认为人的寿命不可能是1900年之多，所以智能的自动增加1900作为显示结果，即用getYear()即可显示为2010。但对于firefox和chrome等遵循标准的浏览器来讲，这样的做法显然有些可笑，于是搜索到这个解决办法： var now&#160; = new Date();var year = ( now.getYear() &#60; 1900 ) ? ( 1900 + now.getYear() ) : now.getYear();document.write(year); 上面的解决办法是对年份进行判断，小于1900则自动加上以显示正确年份，这样就完全兼容了所有浏览器的年份显示。 其实这里要写的不只是上面的解决方案，最佳解决方案是这样的：getYear()是js1.0标准的旧用法，现在提倡用getFullYear()即可得到完整年份： var now&#160; = new Date();var year = now.getFullYear();document.write(year);]]></description>
			<content:encoded><![CDATA[<p>在调试程序时，客户有要求页首需要增加时间显示。显然就用到了Date()中的getYear()来直接显示年份：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">now</span><span style="color: Gray;">&nbsp; = </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;">;<br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">year</span><span style="color: Gray;"> = </span><span style="color: Blue;">now</span><span style="color: Gray;">.</span><span style="color: Blue;">getYear</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br /></span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">write</span><span style="color: Olive;">(</span><span style="color: Blue;">year</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></div></div>
<p>IE显示正常，但在firefox和chrome下显示为110年（应该显示为1900+110=2010年），在网上搜索了一下答案，得到结论是IE为了提高兼容性，只要通过Date()取得的年份是两位或三位，那么就认为人的寿命不可能是1900年之多，所以智能的自动增加1900作为显示结果，即用getYear()即可显示为2010。但对于firefox和chrome等遵循标准的浏览器来讲，这样的做法显然有些可笑，于是搜索到这个解决办法：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">now</span><span style="color: Gray;">&nbsp; = </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;">;<br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">year</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">now</span><span style="color: Gray;">.</span><span style="color: Blue;">getYear</span><span style="color: Olive;">()</span><span style="color: Gray;"> &lt; </span><span style="color: Maroon;">1900</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;"> </span><span style="color: Maroon;">1900</span><span style="color: Gray;"> + </span><span style="color: Blue;">now</span><span style="color: Gray;">.</span><span style="color: Blue;">getYear</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;"> : </span><span style="color: Blue;">now</span><span style="color: Gray;">.</span><span style="color: Blue;">getYear</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br /></span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">write</span><span style="color: Olive;">(</span><span style="color: Blue;">year</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></div></div>
<p>上面的解决办法是对年份进行判断，小于1900则自动加上以显示正确年份，这样就完全兼容了所有浏览器的年份显示。</p>
<p>其实这里要写的不只是上面的解决方案，最佳解决方案是这样的：getYear()是js1.0标准的旧用法，现在提倡用<span style="color:red">getFullYear()</span>即可得到完整年份：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">now</span><span style="color: Gray;">&nbsp; = </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;">;<br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">year</span><span style="color: Gray;"> = </span><span style="color: Blue;">now</span><span style="color: Gray;">.</span><span style="color: Blue;">getFullYear</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br /></span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">write</span><span style="color: Olive;">(</span><span style="color: Blue;">year</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/704/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ajax计数器的实现</title>
		<link>http://www.liuhuadong.com/archives/518/index.html</link>
		<comments>http://www.liuhuadong.com/archives/518/index.html#comments</comments>
		<pubDate>Sun, 12 Jul 2009 01:11:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP/Mysql]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=518</guid>
		<description><![CDATA[本文代码实现页面计数器在无刷新情况下自动更新同步计数器数据。 &#60;script language=&#34;javascript&#34;&#62;var xmlHttp;function create(){&#160;&#160; &#160;if(window.ActiveXObject){&#160;&#160; &#160; &#160; &#160;xmlHttp=new ActiveXObject(&#34;Microsoft.XMLHTTP&#34;);&#160;&#160; &#160;}&#160;&#160; &#160;else if(window.XMLHttpRequest){&#160;&#160; &#160; &#160; &#160;xmlHttp=new XMLHttpRequest();&#160;&#160; &#160;}}function count(){&#160;&#160; &#160;create();&#160;&#160; &#160;xmlHttp.open(&#34;GET&#34;,&#34;http://www.xxx.com/3.php?aa=&#34;+Math.random());&#160;&#160; &#160;xmlHttp.onreadyStatechange=handle;&#160;&#160; &#160;xmlHttp.send(null);}function handle(){&#160;&#160; &#160;if(xmlHttp.readyState==4){&#160;&#160; &#160; &#160; &#160;if(xmlHttp.status==200){document.getElementById(&#34;jishu&#34;).innerHTML=escape(xmlHttp.responseText);}&#160;&#160; &#160;}}function myShow(){&#160;&#160; &#160;window.setInterval(count,5000);}&#60;/script&#62;&#60;body onload=&#34;count();myShow();&#34;&#62;共有&#60;span id=&#34;jishu&#34;&#62;&#60;/span&#62;人访问&#60;/body&#62; 需要注意的是xmlhttp在刷新的时间会使用缓存，所以需要在请求的地址上加随机数（Math.random）以防止使用缓存数据。另外setInterval与setTimeout的区别是前者为间隔循环执行，后者为定时执行一次。]]></description>
			<content:encoded><![CDATA[<p>本文代码实现页面计数器在无刷新情况下自动更新同步计数器数据。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt;<br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">;<br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">create</span><span style="color: Olive;">(){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</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;">ActiveXObject</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">=</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ActiveXObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Microsoft.XMLHTTP</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &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;">XMLHttpRequest</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">=</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">XMLHttpRequest</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">count</span><span style="color: Olive;">(){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">create</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GET</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.xxx.com/3.php?aa=</span><span style="color: #8b0000;">&quot;</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;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">onreadyStatechange</span><span style="color: Gray;">=</span><span style="color: Blue;">handle</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">send</span><span style="color: Olive;">(</span><span style="color: Green;">null</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">handle</span><span style="color: Olive;">(){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">readyState</span><span style="color: Gray;">==</span><span style="color: Maroon;">4</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">status</span><span style="color: Gray;">==</span><span style="color: Maroon;">200</span><span style="color: Olive;">){</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">jishu</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">innerHTML</span><span style="color: Gray;">=</span><span style="color: Blue;">escape</span><span style="color: Olive;">(</span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">responseText</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">myShow</span><span style="color: Olive;">(){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">setInterval</span><span style="color: Olive;">(</span><span style="color: Blue;">count</span><span style="color: Gray;">,</span><span style="color: Maroon;">5000</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">script&gt;<br />&lt;body onload=&quot;count();myShow();&quot;&gt;<br />共有&lt;span id=&quot;jishu&quot;&gt;&lt;</span><span style="color: #8b0000;">/</span><span style="color: Blue;">span</span><span style="color: Gray;">&gt;人访问<br />&lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">body&gt;</span></div></div>
<p>需要注意的是xmlhttp在刷新的时间会使用缓存，所以需要在请求的地址上加随机数（Math.random）以防止使用缓存数据。另外setInterval与setTimeout的区别是前者为间隔循环执行，后者为定时执行一次。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/518/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QQ签名在自己博客上同步</title>
		<link>http://www.liuhuadong.com/archives/109/index.html</link>
		<comments>http://www.liuhuadong.com/archives/109/index.html#comments</comments>
		<pubDate>Fri, 08 Feb 2008 12:50:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[qq签名]]></category>
		<category><![CDATA[同步]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/archives/109/index.html</guid>
		<description><![CDATA[看图：&#160; 其实也没什么技术含量，QQ签名自动在taotao上面更新，然后通过js获取taotao上面的数据显示出来就行了。 在页面加载： &#60;script type=&#34;text/javascript&#34; charset=&#34;utf-8&#34; src=&#34;http://www.liuhuadong.com/qqapi.js&#34;&#62;&#60;/script&#62; 调用位置加入： &#60;script type=&#34;text/javascript&#34;&#62;var taotao_qq=7360369; var taotao_num=1;var taotao_type=0;&#60;/script&#62;]]></description>
			<content:encoded><![CDATA[<p>看图：&nbsp;</p>
<p align="left"><img class="" style="width: 507px; height: 339px" height="459" alt="" width="691" align="middle" border="2" src="http://www.liuhuadong.com/wp-content/uploads/2008/02/qq.PNG" /></p>
<p>其实也没什么技术含量，QQ签名自动在taotao上面更新，然后通过js获取taotao上面的数据显示出来就行了。</p>
<p>在页面加载：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">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: Blue;">charset</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">utf-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Blue;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.liuhuadong.com/qqapi.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt;&lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">script&gt;</span></div></div>
<p>调用位置加入：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">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;">&gt;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">taotao_qq</span><span style="color: Gray;">=</span><span style="color: Maroon;">7360369</span><span style="color: Gray;">; </span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">taotao_num</span><span style="color: Gray;">=</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">taotao_type</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;&lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">script&gt;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/109/index.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>叹为观止的css特效</title>
		<link>http://www.liuhuadong.com/archives/64/index.html</link>
		<comments>http://www.liuhuadong.com/archives/64/index.html#comments</comments>
		<pubDate>Wed, 20 Jun 2007 10:38:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/archives/64/index.html</guid>
		<description><![CDATA[学习过css与js的，开下眼界吧，保存这个html打开看看。 且再看网友评论： 2006-6-10 22:36:17 盖茨他爹：老夫活了大半辈子，头一次见这么NB的JS特效 —————————————————————————————— 2006-6-10 22:39:06 小星：很少见，一般会直接用flash实现，学习了阿 —————————————————————————————— 2006-6-11 22:40:05 dreame：开眼界 —————————————————————————————— 2006-7-15 11:45:17 zxxlg205：我也算是开眼界了 —————————————————————————————— 2006-7-28 16:22:40 hangxj：何止是一个N字了得?　那应该就是太N了~` —————————————————————————————— 2006-8-9 13:21:55 可可℃乐：俺&#8230;俺&#8230;俺都不说拉 简直不敢相信。终于体会到JS的强大拉 —————————————————————————————— 2006-8-29 11:48:56 angeldidi：cool!　不过有没有人可以帮忙解释一下这些代码？ —————————————————————————————— 2006-11-3 11:05:45 〖←冷似雪：厉害,I服了YOU —————————————————————————————— 2006-11-5 00:33:45 尤来尤去：不是太牛，是真TMD的牛！！！   &#60;html&#62; &#60;head&#62; &#60;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=gb2312&#8243; /&#62; &#60;title&#62;css菜单&#60;/title&#62; &#60;style&#62; body{ background-color:#B8B8A0; } #fbtn{ display:none; overflow:hidden; border-style:solid; [...]]]></description>
			<content:encoded><![CDATA[<p>学习过css与js的，开下眼界吧，保存这个html打开看看。</p>
<p>且再看网友评论：</p>
<p>2006-6-10 22:36:17<br />
盖茨他爹：老夫活了大半辈子，头一次见这么NB的JS特效<br />
——————————————————————————————</p>
<p>2006-6-10 22:39:06<br />
小星：很少见，一般会直接用flash实现，学习了阿<br />
——————————————————————————————</p>
<p>2006-6-11 22:40:05<br />
dreame：开眼界<br />
——————————————————————————————</p>
<p>2006-7-15 11:45:17<br />
zxxlg205：我也算是开眼界了<br />
——————————————————————————————</p>
<p>2006-7-28 16:22:40<br />
hangxj：何止是一个N字了得?　那应该就是太N了~`<br />
——————————————————————————————</p>
<p>2006-8-9 13:21:55<br />
可可℃乐：俺&#8230;俺&#8230;俺都不说拉 简直不敢相信。终于体会到JS的强大拉<br />
——————————————————————————————</p>
<p>2006-8-29 11:48:56<br />
angeldidi：cool!　不过有没有人可以帮忙解释一下这些代码？<br />
——————————————————————————————</p>
<p>2006-11-3 11:05:45<br />
〖←冷似雪：厉害,I服了YOU<br />
——————————————————————————————</p>
<p>2006-11-5 00:33:45<br />
尤来尤去：不是太牛，是真TMD的牛！！！</p>
<p> <span id="more-64"></span></p>
<p>&lt;html&gt;</p>
<p>&lt;head&gt;</p>
<p>&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=gb2312&#8243; /&gt;</p>
<p>&lt;title&gt;css菜单&lt;/title&gt;</p>
<p>&lt;style&gt;</p>
<p>body{</p>
<p>background-color:#B8B8A0;</p>
<p>}</p>
<p>#fbtn{</p>
<p>display:none;</p>
<p>overflow:hidden;</p>
<p>border-style:solid;</p>
<p>border-width:1px;</p>
<p>border-color:#e1e1c9 #e1e1c9 #6e6e56 #6e6e56;</p>
<p>padding:1 1 1 1;</p>
<p>width:115px;</p>
<p>height:30px;</p>
<p>}</p>
<p>#fbtn_txt{</p>
<p>position:relative;</p>
<p>}</p>
<p>#fbtn_txt div{</p>
<p>height:30px;</p>
<p>padding-top:11px;</p>
<p>font-size:12px;</p>
<p>color:#800080;</p>
<p>text-align:center;</p>
<p>cursor:hand;</p>
<p>}</p>
<p>#fbtn_mask{</p>
<p>background-color:#ffffff;</p>
<p>position:relative;</p>
<p>width:100%;</p>
<p>height:100%;</p>
<p>}</p>
<p>&lt;/style&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;G1&lt;/div&gt;</p>
<p>&lt;div&gt;good morning&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;G2&lt;/div&gt;</p>
<p>&lt;div&gt;good evening&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;M1&lt;/div&gt;</p>
<p>&lt;div&gt;my name is fireyy&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;M2&lt;/div&gt;</p>
<p>&lt;div&gt;mm mm i love u&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;G1&lt;/div&gt;</p>
<p>&lt;div&gt;good morning&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;G2&lt;/div&gt;</p>
<p>&lt;div&gt;good evening&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;M1&lt;/div&gt;</p>
<p>&lt;div&gt;my name is fireyy&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id=fbtn&gt;</p>
<p>&lt;div id=fbtn_mask&gt;&lt;/div&gt;</p>
<p>&lt;div id=fbtn_txt&gt;</p>
<p>&lt;div&gt;M2&lt;/div&gt;</p>
<p>&lt;div&gt;mm mm i love u&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;script&gt;</p>
<p>var current=null;</p>
<p>var t=null;</p>
<p>for(var i=0;i&lt;fbtn.length;i++){</p>
<p>fbtn_txt[i].style.posTop=-30;</p>
<p>fbtn_mask[i].style.posTop=-30;</p>
<p>fbtn[i].index=i;</p>
<p>fbtn[i].style.display=&#8221;block&#8221;;</p>
<p>fbtn[i].onmouseover=function(){</p>
<p>if(!current){</p>
<p>current=this;</p>
<p>domove(this.index);</p>
<p>}</p>
<p>else</p>
<p>if(current!=this){</p>
<p>domove(current.index);</p>
<p>domove(this.index);</p>
<p>current=this;</p>
<p>}</p>
<p>}</p>
<p>fbtn[i].onmouseout=function(){</p>
<p>if(event.toElement==this.parentElement&amp;t==this){</p>
<p>domove(this.index);</p>
<p>current=null;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>function domove(num){</p>
<p>var o=fbtn_txt[num];</p>
<p>var m=fbtn_mask[num];</p>
<p>if(o.style.posTop&lt;-60){</p>
<p>o.style.display=&#8221;none&#8221;;</p>
<p>var t=o.children[1].innerHTML;</p>
<p>o.children[1].innerHTML=o.children[0].innerHTML;</p>
<p>o.children[0].innerHTML=t;</p>
<p>o.style.posTop=-30;</p>
<p>o.style.display=&#8221;block&#8221;;</p>
<p>if(m.style.posTop&gt;30)</p>
<p>m.style.posTop=-30;</p>
<p>else</p>
<p>m.style.posTop=0;</p>
<p>}</p>
<p>else{</p>
<p>m.style.posTop+=3;</p>
<p>o.style.posTop-=3;</p>
<p>setTimeout(&#8216;domove(&#8216;+num+&#8217;)',15);</p>
<p>}</p>
<p>}</p>
<p>&lt;/script&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p><script></p>
<p>var current=null;</p>
<p>var t=null;</p>
<p>for(var i=0;i<fbtn.length;i++){</p>
<p>fbtn_txt[i].style.posTop=-30;</p>
<p>fbtn_mask[i].style.posTop=-30;</p>
<p>fbtn[i].index=i;</p>
<p>fbtn[i].style.display="block";</p>
<p>fbtn[i].onmouseover=function(){</p>
<p>if(!current){</p>
<p>current=this;</p>
<p>domove(this.index);</p>
<p>}</p>
<p>else</p>
<p>if(current!=this){</p>
<p>domove(current.index);</p>
<p>domove(this.index);</p>
<p>current=this;</p>
<p>}</p>
<p>}</p>
<p>fbtn[i].onmouseout=function(){</p>
<p>if(event.toElement==this.parentElement&#038;t==this){</p>
<p>domove(this.index);</p>
<p>current=null;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>function domove(num){</p>
<p>var o=fbtn_txt[num];</p>
<p>var m=fbtn_mask[num];</p>
<p>if(o.style.posTop<-60){</p>
<p>o.style.display="none";</p>
<p>var t=o.children[1].innerHTML;</p>
<p>o.children[1].innerHTML=o.children[0].innerHTML;</p>
<p>o.children[0].innerHTML=t;</p>
<p>o.style.posTop=-30;</p>
<p>o.style.display="block";</p>
<p>if(m.style.posTop>30)</p>
<p>m.style.posTop=-30;</p>
<p>else</p>
<p>m.style.posTop=0;</p>
<p>}</p>
<p>else{</p>
<p>m.style.posTop+=3;</p>
<p>o.style.posTop-=3;</p>
<p>setTimeout(\'domove(\'+num+\')\',15);</p>
<p>}</p>
<p>}</p>
<p></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/64/index.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
