<?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>ray.Yee</title>
	<atom:link href="http://riavs.cn/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://riavs.cn/blog</link>
	<description>develop&#039;s blog,about web&#38;game&#38;mobile&#38;so on!</description>
	<lastBuildDate>Mon, 05 Jul 2010 05:01:55 +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 基础总结</title>
		<link>http://riavs.cn/blog/?p=265</link>
		<comments>http://riavs.cn/blog/?p=265#comments</comments>
		<pubDate>Mon, 05 Jul 2010 05:01:00 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=265</guid>
		<description><![CDATA[ $(document).ready(function(){}) //相当于onload事件 jQuery对象与dom对象的转换 $(&#8220;#msg&#8221;).html(); $(&#8220;#msg&#8221;)[0].innerHTML; $(&#8220;#msg&#8221;).eq(0)[0].innerHTML; $(&#8220;#msg&#8221;).get(0).innerHTML; 如何获取jQuery集合的某一项 $(&#8220;div&#8221;).eq(2).html();              //调用jquery对象的方法 $(&#8220;div&#8221;).get(2).innerHTML;       //调用dom的方法属性 同一函数实现set和get $(&#8220;#msg&#8221;).html();              //返回id为msg的元素节点的html内容。 $(&#8220;#msg&#8221;).html(&#8220;&#60;b&#62;new content&#60;/b&#62;&#8221;); $(&#8220;#msg&#8221;).text();              //返回id为msg的元素节点的文本内容。 $(&#8220;#msg&#8221;).text(&#8220;&#60;b&#62;new content&#60;/b&#62;&#8221;); $(&#8220;#msg&#8221;).height();              //返回id为msg的元素的高度 $(&#8220;#msg&#8221;).height(&#8220;300&#8243;);       //将id为msg的元素的高度设为300 $(&#8220;#msg&#8221;).width();              //返回id为msg的元素的宽度 $(&#8220;#msg&#8221;).width(&#8220;300&#8243;);       //将id为msg的元素的宽度设为300 $(&#8220;input&#8221;).val(&#8220;);       //返回表单输入框的value值 $(&#8220;input&#8221;).val(&#8220;test&#8221;);       //将表单输入框的value值设为test $(&#8220;#msg&#8221;).click();       //触发id为msg的元素的单击事件 $(&#8220;#msg&#8221;).click(fn);       //为id为msg的元素单击事件添加函数 同样blur,focus,select,submit事件都可以有着两种调用方法 集合处理功能 $(&#8220;p&#8221;).each(function(i){this.style.color=['#f00','#0f0','#00f']}) // 为索引分别为0，1，2的p元素分别设定不同的字体颜色。 $(&#8220;tr&#8221;).each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]}) //实现表格的隔行换色效果 $(&#8220;p&#8221;).click(function(){.html())}) //为每个p元素增加了click事件，单击某个p元素则弹出其内容\ 操作元素的样式 $(&#8220;#msg&#8221;).css(&#8220;background&#8221;);              //返回元素的背景颜色 $(&#8220;#msg&#8221;).css(&#8220;background&#8221;,&#8221;#ccc&#8221;)       //设定元素背景为灰色 $(&#8220;#msg&#8221;).height(300); $(&#8220;#msg&#8221;).width(&#8220;200&#8243;);       //设定宽高 $(&#8220;#msg&#8221;).css({ [...]]]></description>
			<content:encoded><![CDATA[<p> $(document).ready(function(){})<br />
//相当于onload事件</p>
<p><strong>jQuery对象与dom对象的转换</strong><br />
$(&#8220;#msg&#8221;).html();<br />
$(&#8220;#msg&#8221;)[0].innerHTML;<br />
$(&#8220;#msg&#8221;).eq(0)[0].innerHTML;<br />
$(&#8220;#msg&#8221;).get(0).innerHTML;</p>
<p><strong>如何获取jQuery集合的某一项</strong><br />
$(&#8220;div&#8221;).eq(2).html();              //调用jquery对象的方法<br />
$(&#8220;div&#8221;).get(2).innerHTML;       //调用dom的方法属性</p>
<p><strong>同一函数实现set和get</strong><br />
$(&#8220;#msg&#8221;).html();              //返回id为msg的元素节点的html内容。<br />
$(&#8220;#msg&#8221;).html(&#8220;&lt;b&gt;new content&lt;/b&gt;&#8221;);<br />
$(&#8220;#msg&#8221;).text();              //返回id为msg的元素节点的文本内容。<br />
$(&#8220;#msg&#8221;).text(&#8220;&lt;b&gt;new content&lt;/b&gt;&#8221;);</p>
<p>$(&#8220;#msg&#8221;).height();              //返回id为msg的元素的高度<br />
$(&#8220;#msg&#8221;).height(&#8220;300&#8243;);       //将id为msg的元素的高度设为300<br />
$(&#8220;#msg&#8221;).width();              //返回id为msg的元素的宽度<br />
$(&#8220;#msg&#8221;).width(&#8220;300&#8243;);       //将id为msg的元素的宽度设为300</p>
<p>$(&#8220;input&#8221;).val(&#8220;);       //返回表单输入框的value值<br />
$(&#8220;input&#8221;).val(&#8220;test&#8221;);       //将表单输入框的value值设为test</p>
<p>$(&#8220;#msg&#8221;).click();       //触发id为msg的元素的单击事件<br />
$(&#8220;#msg&#8221;).click(fn);       //为id为msg的元素单击事件添加函数<br />
同样blur,focus,select,submit事件都可以有着两种调用方法</p>
<p><strong>集合处理功能</strong><br />
$(&#8220;p&#8221;).each(function(i){this.style.color=['#f00','#0f0','#00f']})<br />
// 为索引分别为0，1，2的p元素分别设定不同的字体颜色。</p>
<p>$(&#8220;tr&#8221;).each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})<br />
//实现表格的隔行换色效果</p>
<p>$(&#8220;p&#8221;).click(function(){.html())})<br />
//为每个p元素增加了click事件，单击某个p元素则弹出其内容\</p>
<p><strong>操作元素的样式</strong><br />
$(&#8220;#msg&#8221;).css(&#8220;background&#8221;);              //返回元素的背景颜色<br />
$(&#8220;#msg&#8221;).css(&#8220;background&#8221;,&#8221;#ccc&#8221;)       //设定元素背景为灰色<br />
$(&#8220;#msg&#8221;).height(300); $(&#8220;#msg&#8221;).width(&#8220;200&#8243;);       //设定宽高<br />
$(&#8220;#msg&#8221;).css({ color: &#8220;red&#8221;, background: &#8220;blue&#8221; });//以名值对的形式设定样式<br />
$(&#8220;#msg&#8221;).addClass(&#8220;select&#8221;);       //为元素增加名称为select的class<br />
$(&#8220;#msg&#8221;).removeClass(&#8220;select&#8221;);       //删除元素名称为select的class<br />
$(&#8220;#msg&#8221;).toggleClass(&#8220;select&#8221;);       //如果存在（不存在）就删除（添加）名称为select的class</p>
<p><strong>绑定事件</strong><br />
$(&#8220;p&#8221;).bind(&#8220;click&#8221;, function(){.text());});       //为每个p元素添加单击事件<br />
$(&#8220;p&#8221;).unbind();       //删除所有p元素上的所有事件<br />
$(&#8220;p&#8221;).unbind(&#8220;click&#8221;)       //删除所有p元素上的单击事件</p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=265</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>div+css使用技巧</title>
		<link>http://riavs.cn/blog/?p=262</link>
		<comments>http://riavs.cn/blog/?p=262#comments</comments>
		<pubDate>Mon, 05 Jul 2010 01:41:19 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[div]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=262</guid>
		<description><![CDATA[div+css是网页排版中不可或缺的，在这里总结了一下工作中遇到的一些这方面的问题，以及这些问题的解决方法，在这里一起与大家分享(*^__^*) 嘻嘻…… 1，ul方面的问题：默认的ul的margin和padding不是0，如果在导航中用到了左浮动的li，往往会把外部 的div撑大，导致页面变形，这就需要我们在写代码的时候不要忘记 ul{margin:0px; padding:0px;} 2,img方面的问题：这里牵涉的不同浏览器的问题，ie6是一直让网页设计师最头疼的一个问题，关于图片 ，这里有一个小小的问题，有时ie6里显示的图片height总是要大于准确值，这里就需要我们记住下面这 一点 img{ display：block} 3，overflow方面问题：有时我们会看到，一些公司的注册协议都是好长好长的，但又不能把页面拉的太 长，这就用到了overflow，我们可以把div的style里加上这个：overflow：auto 4，小窗口弹出的问题：当我们点击某个按钮，可能会看到一个小窗口弹出，而窗口其它的部分都变了灰 色，这是怎么实现的呢，其实很简单div+css就可以实现： css部分： .black_overlay {     display: none;     position: absolute;     top: 0%;     left: 0%;     width: 100%;     height: 100%;     background-color: black;     z-index: 1001;     -moz-opacity: 0.8;     opacity: .80;     filter: alpha(opacity=50); } .white_content {    [...]]]></description>
			<content:encoded><![CDATA[<p>div+css是网页排版中不可或缺的，在这里总结了一下工作中遇到的一些这方面的问题，以及这些问题的解决方法，在这里一起与大家分享(*^__^*) 嘻嘻……<br />
1，ul方面的问题：默认的ul的margin和padding不是0，如果在导航中用到了左浮动的li，往往会把外部</p>
<p>的div撑大，导致页面变形，这就需要我们在写代码的时候不要忘记 ul{margin:0px; padding:0px;}</p>
<p>2,img方面的问题：这里牵涉的不同浏览器的问题，ie6是一直让网页设计师最头疼的一个问题，关于图片</p>
<p>，这里有一个小小的问题，有时ie6里显示的图片height总是要大于准确值，这里就需要我们记住下面这</p>
<p>一点 img{ display：block}</p>
<p>3，overflow方面问题：有时我们会看到，一些公司的注册协议都是好长好长的，但又不能把页面拉的太</p>
<p>长，这就用到了overflow，我们可以把div的style里加上这个：overflow：auto</p>
<p>4，小窗口弹出的问题：当我们点击某个按钮，可能会看到一个小窗口弹出，而窗口其它的部分都变了灰</p>
<p>色，这是怎么实现的呢，其实很简单div+css就可以实现：<br />
css部分：<br />
.black_overlay<br />
{<br />
    display: none;<br />
    position: absolute;<br />
    top: 0%;<br />
    left: 0%;<br />
    width: 100%;<br />
    height: 100%;<br />
    background-color: black;<br />
    z-index: 1001;<br />
    -moz-opacity: 0.8;<br />
    opacity: .80;<br />
    filter: alpha(opacity=50);<br />
}<br />
.white_content<br />
{<br />
    display: none;<br />
    position: absolute;<br />
    top:20%;<br />
    left: 30%;<br />
    width:outo;<br />
    background-color: white;<br />
    z-index: 1002;<br />
    overflow: auto;</p>
<p>}</p>
<p>.white_content2<br />
{<br />
    display: none;<br />
    position: absolute;<br />
    top: 20%;<br />
    left: 18%;<br />
    width:896px;<br />
    background-color: white;<br />
    z-index: 1002;<br />
    overflow: auto;<br />
    text-align: center;<br />
}<br />
.qpshcom<br />
{</p>
<p>    background-color: #efefef;<br />
    color: #666666;<br />
    border-width: 1px;<br />
    border-color: #cccccc;<br />
    border-style: solid;<br />
    margin: 6px;<br />
    padding: 6px;<br />
    font-size: 14px;<br />
    line-height: 200%;<br />
    float: midden;<br />
}<br />
div部分：</p>
<p>打开按钮部分：onclick=&#8221;document.getElementById</p>
<p>(&#8216;light&#8217;).style.display=&#8217;block&#8217;;document.getElementById(&#8216;fade&#8217;).style.display=&#8217;block&#8217;&#8221;<br />
关闭按钮部分：onclick=&#8221;document.getElementById</p>
<p>(&#8216;light&#8217;).style.display=&#8217;none&#8217;;document.getElementById(&#8216;fade&#8217;).style.display=&#8217;none&#8217;&#8221;</p>
<p>4，关于float的问题：有时候一些div会挤到页面的上方，把页面挤破掉，这里可能就是浮动引起的，这</p>
<p>时候我们就用到了这个：clear：both，很不错的解决方法，不妨一试。</p>
<p>5，height等于1px的div，在ie6中可能并不是1px，那怎么解决呢？不妨试一下：在这个div的style里加</p>
<p>上font-size：1px;这样就ok了。</p>
<p>6，下面再说一下id和class的问题：当一个div要在页面中多次使用时，不要用id，要用class，还有就是</p>
<p>要用引用js的时候，样式最好不要用id，因为id要留给js使用，当程序员写后台用的是.net时，最好不用</p>
<p>用id，id要留给程序员用，前台我们就用class好了。</p>
<p>7，还是img问题，页面中最好不要用大块背景，能平铺的要平铺，否则加载起来会很慢，也不利于以后的</p>
<p>优化和扩展，当然也有些大的网站，现在都尽量把背景统一放到一张图片上，用background-postion来取</p>
<p>得背景，这样其实也好，背景虽然大了点，但只需统一加载一次，就ok了，速度也不会太慢，可以好好学</p>
<p>习一下。</p>
<p>8，img的格式问题：最好的格式就是gif格式，即确保了背景透明，在ie6中又不会有阴影，有时gif图片</p>
<p>会有锯齿，这就需要我们保存成web格式，设置一下matter，matter的值用背景颜色的值越相近越好。（</p>
<p>当然有时迫不得已png的图片也会用到，这时就需要另外想办法了，前面我也曾提到过，大家不妨一看）</p>
<p>9，链接问题：<br />
.link：link{}<br />
.link：visited{}<br />
.link：hover{}<br />
.link：active{}<br />
有一点，visited与hover的顺序一定不能倒换，否则ie6中会大大的问题。</p>
<p>10，css编码问题：@charset &#8220;utf-8&#8243;;注意这行代码，utf-8与g把gb2312是比较常用的两种编码方式。<br />
       </p>
<p>本文由 <a href="http://www.zcool.com.cn/" target="_blank">站酷网</a> &#8211; <a href="/u/382381/" target="_blank">fangjing19881116</a> 原创，转载请保留此信息，多谢合作。</p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=262</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>编写Smarty遇到的编码问题</title>
		<link>http://riavs.cn/blog/?p=256</link>
		<comments>http://riavs.cn/blog/?p=256#comments</comments>
		<pubDate>Fri, 02 Jul 2010 09:35:00 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[bom]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[smarty]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=256</guid>
		<description><![CDATA[今天在写Smarty的时候，在ie6里网页无法居中，在ff和其他浏览器都非常正常，网上查了好久发现，说去w3c验证一下，会看到是我的html里面有BOM（万国码档案签名：Byte Order Mark, U+FEFF），真晕啊！然后把要输出smarty的php的编码中的bom去掉就可以了。。。 btw：我当时用的编辑器是FlashDevelop，在文件-编码-save byte order mark选项里面。 以下引用网络： 在Dreamweaver 中写了个简单的的index.php: &#60;?php include_once(&#8220;./class.config.php&#8221;); $Smarty-&#62;display(&#8220;Index.html&#8221;); ?&#62; 顺手在标题中输入了几个字:企业资源管理系统,index.html是使用div+css进行布局的,单独打开index.html可以看到居中显示,而调用smarty后总是居左显示. 后来用ultraedit打开index.php,发现文件内容是: &#60;title&#62;企业资源管理系统&#60;/title&#62; &#60;?php include_once(&#8220;./class.config.php&#8221;); $Smarty-&#62;display(&#8220;Index.html&#8221;); ?&#62; 将&#60;title&#62;企业资源管理系统&#60;/title&#62;去掉后显示正常. 引用原文: 发现自己总在走前人走过的路，犯前人犯过的错&#8230; 最近使用smarty+CSS模板，遇到了部分CSS无法解析的问题，尝试了很多方法，在几乎放弃的时候找到了这篇文章，一看日期，竟然是2006年11月的&#8230; 新项目完全采用UTF-8编码，这是我的夙愿，可就是这个麻烦的UTF-8编码，让我闹心了数小时！ 今天下午制作好了页面的模板，当载入Smarty运行的时候，发现在Firefox下正常显示，而在IE下，原本好好居中显示的页面一下变得偏左了，而且部分CSS也无法载入，字体极其难看！查阅代码，无法找出任何破绽，而不用Smarty转而采用原始的PHP+HTML混写的时候则无此现象，因此开始怀疑Smarty有问题，上phpchina.cn求助，无人解答；自己又下载了Smarty的最新版本，依然无法解决这个故障，心灰意冷，甚至打算在项目中放弃Smarty。 根据以往的经验，我开始怀疑是当PHP输出HTML的时候向其中加入了额外的不可见代码，于是将PHP输出的内容原封不动保存为HTML，然后提交到validator.w3.org进行XHTML验证，果然，验证失败，提示文件头部被加入了BOM（万国码档案签名：Byte Order Mark, U+FEFF）标记，妈的，就是这个垃圾标记，已经不是第一次害我了！ 于是，重新打开DM和UltraEdit重新对PHP页面以及模板页面进行编码转换，去除了其中的BOM标记，一切正常！ 这里附上一篇写的很全面的有关BOM的文章，希望能帮助和我一样受害的人。 ================================================================= utf-8 保存文件的 bom 问题 大家都知道 utf-8 是一种在web应用中经常使用的一种 unicode 字符的编码方式，使用 utf-8 的好处在于它是一种变长的编码方式，对于 ANSII 码编码长度为1个字节，这样的话在传输大量 ASCII 字符集的网页时，可以大量节约网络带宽。不过如果大家使用 utf-8 编码来编写网页的时候， 往往会因为 bom (Byte [...]]]></description>
			<content:encoded><![CDATA[<p>今天在写Smarty的时候，在ie6里网页无法居中，在ff和其他浏览器都非常正常，网上查了好久发现，说去<a href="http://validator.w3.org">w3c</a>验证一下，会看到是我的html里面有BOM（万国码档案签名：Byte Order Mark, U+FEFF），真晕啊！然后把要输出smarty的php的编码中的bom去掉就可以了。。。</p>
<p>btw：我当时用的编辑器是FlashDevelop，在文件-编码-save byte order mark选项里面。</p>
<p>以下引用网络：</p>
<blockquote><p>在Dreamweaver 中写了个简单的的index.php:</p>
<p>&lt;?php<br />
include_once(&#8220;./class.config.php&#8221;);<br />
$Smarty-&gt;display(&#8220;Index.html&#8221;);<br />
?&gt;</p>
<p>顺手在标题中输入了几个字:企业资源管理系统,index.html是使用div+css进行布局的,单独打开index.html可以看到居中显示,而调用smarty后总是居左显示.</p>
<p>后来用ultraedit打开index.php,发现文件内容是:</p>
<p>&lt;title&gt;企业资源管理系统&lt;/title&gt;</p>
<p>&lt;?php<br />
include_once(&#8220;./class.config.php&#8221;);<br />
$Smarty-&gt;display(&#8220;Index.html&#8221;);<br />
?&gt;</p>
<p>将&lt;title&gt;企业资源管理系统&lt;/title&gt;去掉后显示正常.</p>
<p>引用原文:</p>
<p>发现自己总在走前人走过的路，犯前人犯过的错&#8230;</p>
<p>最近使用smarty+CSS模板，遇到了部分CSS无法解析的问题，尝试了很多方法，在几乎放弃的时候找到了这篇文章，一看日期，竟然是2006年11月的&#8230;</p>
<p>新项目完全采用UTF-8编码，这是我的夙愿，可就是这个麻烦的UTF-8编码，让我闹心了数小时！<br />
今天下午制作好了页面的模板，当载入Smarty运行的时候，发现在Firefox下正常显示，而在IE下，原本好好居中显示的页面一下变得偏左了，而且部分CSS也无法载入，字体极其难看！查阅代码，无法找出任何破绽，而不用Smarty转而采用原始的PHP+HTML混写的时候则无此现象，因此开始怀疑Smarty有问题，上phpchina.cn求助，无人解答；自己又下载了Smarty的最新版本，依然无法解决这个故障，心灰意冷，甚至打算在项目中放弃Smarty。<br />
根据以往的经验，我开始怀疑是当PHP输出HTML的时候向其中加入了额外的不可见代码，于是将PHP输出的内容原封不动保存为HTML，然后提交到validator.w3.org进行XHTML验证，果然，验证失败，提示文件头部被加入了BOM（万国码档案签名：Byte Order Mark, U+FEFF）标记，妈的，就是这个垃圾标记，已经不是第一次害我了！<br />
于是，重新打开DM和UltraEdit重新对PHP页面以及模板页面进行编码转换，去除了其中的BOM标记，一切正常！<br />
这里附上一篇写的很全面的有关BOM的文章，希望能帮助和我一样受害的人。<br />
=================================================================</p>
<h5>utf-8 保存文件的 bom 问题</h5>
<p>大家都知道 utf-8 是一种在web应用中经常使用的一种 unicode 字符的编码方式，使用 utf-8 的好处在于它是一种变长的编码方式，对于 ANSII 码编码长度为1个字节，这样的话在传输大量 ASCII 字符集的网页时，可以大量节约网络带宽。不过如果大家使用 utf-8 编码来编写网页的时候， 往往会因为 bom (Byte Order Mark) 的问题，导致网页中经常出现一些不明的空行或者乱码字符。 这些都是因为 utf-8 编码方式对于 bom 不是强制的。因此 utf-8 编码在保存文件的时候，会出现不同的处理方式。</p>
<p>比如有的浏览器(FireFox)可以自动过滤掉所有 utf-8 bom ， 有的 (IE) 只能过滤掉一次 bom （为什么是一次？ 当你出现 Include 多次文件时就会碰上这个问题了:) ）；</p>
<p>对此 w3.org 标准 FAQ 中对此问题有一个专门的描述：</p>
<p><a href="http://www.w3.org/International/questions/qa-utf8-bom">http://www.w3.org/International/questions/qa-utf8-bom</a></p>
<p>在此个人认为对于这个问题最好的处理方式就是在编辑（保存）文件的时候统一去除 utf-8 bom ， 同时又必须使得编辑器可以正确读出 utf-8 字符集，但可惜目前 windows 系统中对于保存文件的处理方式缺省情款下都会自动加上 bom.</p>
<p>（通过抓包工具分析， google 中文页面统一使用 utf-8 编码方式，下载的页面中没有带有 bom 标识）</p>
<p>操作系统: WindowsXP Professional , 缺省字符集：中文</p>
<p>1） notepad ： 可以自动识别出没有带 bom 的 utf-8 编码格式文件，但不可以控制保存文件时是否添加 bom ， 如果保存文件，那么会统一添加 bom 。</p>
<p>2）editplus ： 不能自动识别出没有 bom 的 utf-8 编码格式文件，保存文件为 utf-8 时会自动添加 bom</p>
<p>3） UltraEdit ： 对于字符编码的功能最为强大， 可以自动识别带 bom 和不带 bom 的 utf-8 文件 （可以配置） ； 保存的时候可以通过配置选择是否添加 bom.</p>
<p>（特别需要注意的是，保存一个新建立的文件时，需要选择另存为 utf-8 no bom 格式）</p>
<p>后来发现 Notepad ++ 也对于 utf-8 bom 支持比较好，推荐大家使用。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=256</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LoaderMax – Smart AS3 Loading</title>
		<link>http://riavs.cn/blog/?p=252</link>
		<comments>http://riavs.cn/blog/?p=252#comments</comments>
		<pubDate>Fri, 25 Jun 2010 08:21:24 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[load]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=252</guid>
		<description><![CDATA[LoaderMax is a new AS3 loading system that does much more than just get swf, mp3, css, video, image, text, binary, and xml files into your Flash application. It eats files for dinner, burps, and then asks for 2nds. And 3rds. Yet it’s surprisingly thin. In fact, it can be half the size of most [...]]]></description>
			<content:encoded><![CDATA[<p>LoaderMax is a new AS3 loading system that does much more than just  get swf, mp3, css, video, image, text, binary, and xml files into your  Flash application. It eats files for dinner, burps, and then asks for  2nds. And 3rds. Yet it’s surprisingly thin. In fact, it can be half the  size of most other loading systems even though it delivers a bunch of  unique capabilities, some of which you probably never knew you needed  but won’t want to live without. Here are a few of the noteworthy  features:</p>
<p><a href="http://www.loadermax.com/">http://www.LoaderMax.com</a></p>
<ul>
<li><strong> Integration of loaders inside subloaded swfs</strong> –  with most other systems, if you subload a swf, the loader will only  concern itself with the swf file’s bytes but what if that swf must  subload other content like XML, images, and/or other swf files before it  should be considered fully loaded? LoaderMax can elegantly handle the  sub-subloads as deep as they go. You can link any loader and/or  LoaderMax with a swf’s root (using the requireWithRoot vars property) so  that when you subload it into another Flash application, the parent  SWFLoader automatically factors the nested loaders into its overall  loading progress! It won’t dispatch its COMPLETE event until they have  finished as well.</li>
<li><strong> Automatic parsing of LoaderMax-related nodes inside XML</strong> – The XMLLoader class automatically looks for LoaderMax-related nodes  like &lt;LoaderMax&gt;, &lt;ImageLoader&gt;, &lt;SWFLoader&gt;,  &lt;XMLLoader&gt;, &lt;VideoLoader&gt;, &lt;DataLoader&gt;,  &lt;CSSLoader&gt;, &lt;MP3Loader&gt;, etc. in XML files that it loads,  and if any are found it will create the necessary instances and then  begin loading the ones that had a load=”true” attribute, automatically  integrating their progress into the XMLLoader’s overall progress and it  won’t dispatch a COMPLETE event until the XML-driven loaders have  finished as well. See XMLLoader’s <a href="http://www.actionscriptclasses.com/as/docs/_loadermax.html" target="_blank">ASDocs</a> for details.</li>
<li><strong> Tight file size</strong> – Many other systems are 16-24k+  even if you’re just loading text, but LoaderMax can be as little as <strong>7k</strong> (depending on which loader types you use).</li>
<li><strong> Define an alternateURL for any loader</strong> – If the  original url fails to load, it will automatically switch to the  alternateURL and try again.</li>
<li><strong> A common set of properties and methods among all loaders</strong> – All loader types (XMLLoader, SWFLoader, ImageLoader, MP3Loader,  CSSLoader, VideoLoader, LoaderMax, etc.) share common properties like:  content, name, status, loadTime, paused, bytesLoaded, bytesTotal, and  progress as well as methods like: load(), pause(), resume(),  prioritize(), unload(), cancel(), auditSize() and dispose() delivering a  touch of polymorphism sweetness.</li>
<li><strong> Nest LoaderMax instances inside other LoaderMax instances  as deeply as you want.</strong> – A LoaderMax instance is basically a  queue of loaders which makes it simple to control them as a whole and  get the overall progress, bytesLoaded, and/or bytesTotal. You can put a  queue into another – group and nest them however you want. This makes  complex queues simple. Need to know when the first 3 loaders have  finished loading inside a 10-loader queue? Just put those 3 into their  own LoaderMax that has an onComplete and nest that LoaderMax inside your  main LoaderMax queue.</li>
<li><strong> Set a width/height for an ImageLoader, SWFLoader, or  VideoLoader and when it loads, the image/swf/video will automatically  scale to fit</strong> using any of the following scaleModes: “stretch”,  “proportionalInside”, “proportionalOutside”, “widthOnly”, or  “heightOnly”.</li>
<li><strong> Conveniences like auto smoothing of images, centering their  registration point, noCache, setting initial x, y, scaleX, scaleY,  rotation, alpha, and blendMode properties, optional autoPlay for mp3s,  swfs, and videos, and more.</strong></li>
<li><strong> Works around common Flash hassles/bugs</strong> – LoaderMax  implements workarounds for things like garbage collection headaches  with subloaded swfs, images, and NetStreams as well as other problems  like the recently discovered <a href="http://kb2.adobe.com/cps/838/cpsid_83812.html" target="_blank">issues  with subloading swfs that use TLF</a>.</li>
<li><strong> Find loaders and content by name or url</strong> – Every  loader has a name property which you can use to uniquely identify it.  Feed a name or URL to the static LoaderMax.getLoader() or  LoaderMax.getContent() methods to quickly get the associated loader or  content.</li>
<li><strong> A single loader can belong to multiple LoaderMax instances</strong></li>
<li><strong> Accurate progress reporting</strong> – For maximum  performance, set an estimatedBytes for each loader or allow LoaderMax’s  auditSize feature to automatically preload just enough of each child  loader’s content to determine its bytesTotal, making progress reporting  on large queues very accurate.</li>
<li><strong> prioritize() a loader anytime</strong> – Kick an object to  the top of all LoaderMax queues to which it belongs, immediately  supplanting the top spot in each one.</li>
<li><strong> A robust event system</strong> – events bubble up through  LoaderMax hierarchies and carry a consistent target for easy  identification</li>
<li><strong> Set up multiple event listeners in one line</strong> – Add  listeners like onComplete, onProgress, onError, etc. via the constructor  like new LoaderMax({name:”mainQueue”, onComplete:completeHandler,  onProgress:progressHandler, onError:errorHandler});</li>
<li><strong> maxConnections</strong> – Set the maximum number of  simultaneous connections for each LoaderMax instance (default is 2).  This can speed up overall loading times.</li>
<li><strong> pause()/resume()</strong> – no queue loading solution would  be complete without the ability to pause()/resume() anytime.</li>
<li><strong> Flex friendly </strong> – Simply change the  LoaderMax.contentDisplayClass to FlexContentDisplay and then  ImageLoaders, SWFLoaders, and VideoLoaders will return content wrapped  in a UIComponent.</li>
</ul>
<p><a href="http://www.loadermax.com/">http://www.LoaderMax.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=252</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>解决JQuery中load方法在ie里的缓存问题</title>
		<link>http://riavs.cn/blog/?p=243</link>
		<comments>http://riavs.cn/blog/?p=243#comments</comments>
		<pubDate>Thu, 10 Jun 2010 07:58:34 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[rayYee]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=243</guid>
		<description><![CDATA[最近在研究JQuery,在做一个ajax效果时，遇到了ie中无法无刷新显示数据。 使用方法如下： 代码如下: $(&#8220;#panel&#8221;).load(&#8220;test.asp&#8221;); //在页面装载时，在ID 为#panel的DOM元素里test.asp的内容。 但是，当你修改test.asp文件的内容以后，在IE浏览器下，再利用以上方法 重新装载该文件时，你会发现ID为#panel的DOM元素的内容并未发生变化，问题究竟出现在什么地方呢？原来是重新加载以后，IE浏览器并没有从服务 器端重新下载修改以后的test.asp，而是直接从IE缓存中读取没有修改之前加载的那个test.asp文件，因此会出先#panel元素的内容没有 发生变化。 因此在使用以上方法之前需禁用该方法装载IE缓存中的文件，方法如下： 代码如下: //在调用load方法之前利 用该方法禁止load方法调用IE缓存文件 $.ajaxSetup ({ cache: false }); 在$.ajax({})中也有设置cache为false的方法，但是我试了下不可以，可能是因为，程序先执行load的吧。 $.ajaxSetup是全局的，在load方法之前设置，就可以了。]]></description>
			<content:encoded><![CDATA[<p>最近在研究JQuery,在做一个ajax效果时，遇到了ie中无法无刷新显示数据。</p>
<p>使用方法如下：<br />
代码如下:<br />
$(&#8220;#panel&#8221;).load(&#8220;test.asp&#8221;);<br />
//在页面装载时，在ID 为#panel的DOM元素里test.asp的内容。</p>
<p>但是，当你修改test.asp文件的内容以后，在IE浏览器下，再利用以上方法 重新装载该文件时，你会发现ID为#panel的DOM元素的内容并未发生变化，问题究竟出现在什么地方呢？原来是重新加载以后，IE浏览器并没有从服务 器端重新下载修改以后的test.asp，而是直接从IE缓存中读取没有修改之前加载的那个test.asp文件，因此会出先#panel元素的内容没有 发生变化。<br />
因此在使用以上方法之前需禁用该方法装载IE缓存中的文件，方法如下：<br />
代码如下:<br />
//在调用load方法之前利 用该方法禁止load方法调用IE缓存文件<br />
$.ajaxSetup ({<br />
cache: false<br />
});</p>
<h3><span style="color: #ff00ff;"><strong>在$.ajax({})中也有设置cache为false的方法，但是我试了下不可以，可能是因为，程序先执行load的吧。</strong></span></h3>
<h3><span style="color: #ff00ff;"><strong>$.ajaxSetup是全局的，在load方法之前设置，就可以了。</strong></span></h3>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=243</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flash Builder 4 Premium 正式版下载地址+序列号</title>
		<link>http://riavs.cn/blog/?p=238</link>
		<comments>http://riavs.cn/blog/?p=238#comments</comments>
		<pubDate>Wed, 24 Mar 2010 01:11:37 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=238</guid>
		<description><![CDATA[http://trials.adobe.com/AdobeProducts/FLBR/4/win32/FlashBuilder_4_LS10.exe  安装序列号： 1424-4008-9664-3602-3439-1711]]></description>
			<content:encoded><![CDATA[<p><a href="http://trials.adobe.com/AdobeProducts/FLBR/4/win32/FlashBuilder_4_LS10.exe">http://trials.adobe.com/AdobeProducts/FLBR/4/win32/FlashBuilder_4_LS10.exe</a></p>
<p> 安装序列号： 1424-4008-9664-3602-3439-1711</p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=238</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adobe将在4月12日发布Creative Suite 5</title>
		<link>http://riavs.cn/blog/?p=236</link>
		<comments>http://riavs.cn/blog/?p=236#comments</comments>
		<pubDate>Wed, 24 Mar 2010 01:09:39 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[adobe]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=236</guid>
		<description><![CDATA[一名Adobe的发言人今天表示，他们将在4月12日上午11点发表最新的设计套件Creative Suite 5。新版套件带来了对高清视频的全面支持，一个新的名叫“水星”的渲染引擎被引入，它能够在Premiere Pro中有效利用图形处理器来实现高清编码和回放，但是只支持NVDIA的CUDA而忽视了OpenCL，此外，CS5套件还带来了一个Flash Catalyst &#8212; Flash应用的开发引擎，这相信是设计人员最为关注的一个项目，就让我们耐心等待吧。以下是发布会直播地址： http://cs5launch.adobe.com/]]></description>
			<content:encoded><![CDATA[<p>一名Adobe的发言人今天表示，他们将在4月12日上午11点发表最新的设计套件Creative Suite 5。新版套件带来了对高清视频的全面支持，一个新的名叫“水星”的渲染引擎被引入，它能够在Premiere Pro中有效利用图形处理器来实现高清编码和回放，但是只支持NVDIA的CUDA而忽视了OpenCL，此外，CS5套件还带来了一个Flash Catalyst &#8212; Flash应用的开发引擎，这相信是设计人员最为关注的一个项目，就让我们耐心等待吧。以下是发布会直播地址： <a href="http://cs5launch.adobe.com/">http://cs5launch.adobe.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=236</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>世界上最健康的作息时间表，并祝新年快乐</title>
		<link>http://riavs.cn/blog/?p=234</link>
		<comments>http://riavs.cn/blog/?p=234#comments</comments>
		<pubDate>Fri, 19 Feb 2010 04:29:19 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[rayYee]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=234</guid>
		<description><![CDATA[7:30：起床。英国威斯敏斯特大学的研究人员发现，那些在早上5:22―7:21 分起床的人，其血液中有一种能引起心脏病的物质含量较高，因此，在7:21之后起床对身体健康更加有益。 打开台灯。“一醒来，就将灯打开，这样将会重新调整体内的生物钟，调整睡眠和醒来模式。”拉夫堡大学睡眠研究中心教授吉姆·霍恩说。喝一杯水。水是身体内成千上万化学反应得以进行的必需物质。早上喝一杯清水，可以补充晚上的缺水状态。 7:30―8:00：在早饭之前刷牙。“在早饭之前刷牙可以防止牙齿的腐蚀，因为刷牙之后，可以在牙齿外面涂上一层含氟的保护层。要么，就等早饭之后半小时再刷牙。”英国牙齿协会健康和安全研究人员戈登·沃特金斯说。 8:00―8:30：吃早饭。“早饭必须吃，因为它可以帮助你维持血糖水平的稳定。”伦敦大学国王学院营养师凯文·威尔伦说。早饭可以吃燕麦粥等，这类食物具有较低的血糖指数。 8:30―9:00：避免运动。来自布鲁奈尔大学的研究人员发现，在早晨进行锻炼的运动员更容易感染疾病，因为免疫系统在这个时间的功能最弱。步行上班。马萨诸塞州大学医学院的研究人员发现，每天走路的人，比那些久坐不运动的人患感冒病的几率低25%。 9:30：开始一天中最困难的工作。纽约睡眠中心的研究人员发现，大部分人在每天醒来的一两个小时内头脑最清醒。 10:30：让眼睛离开屏幕休息一下。如果你使用电脑工作，那么每工作一小时，就让眼睛休息3分钟。 11:00：吃点水果。这是一种解决身体血糖下降的好方法。吃一个橙子或一些红色水果，这样做能同时补充体内的铁含量和维生素C含量。 13:00：在面包上加一些豆类蔬菜。你需要一顿可口的午餐，并且能够缓慢地释放能量。“烘烤的豆类食品富含纤维素，番茄酱可以当作是蔬菜的一部分。”维伦博士说。 14:30―15:30：午休一小会儿。雅典的一所大学研究发现，那些每天中午午休30分钟或更长时间，每周至少午休3次的人，因心脏病死亡的几率会下降37%。 16:00：喝杯酸奶。这样做可以稳定血糖水平。在每天三餐之间喝些酸牛奶，有利于心脏健康。 17:00―19:00：锻炼身体。根据体内的生物钟，这个时间是运动的最佳时间，舍菲尔德大学运动学医生瑞沃·尼克说。 19:30：晚餐少吃点。晚饭吃太多，会引起血糖升高，并增加消化系统的负担，影响睡眠。晚饭应该多吃蔬菜，少吃富含卡路里和蛋白质的食物。吃饭时要细嚼慢咽。 21:45：看会电视。这个时间看会儿电视放松一下，有助于睡眠，但要注意，尽量不要躺在床上看电视，这会影响睡眠质量。 23:00：洗个热水澡。“体温的适当降低有助于放松和睡眠。”拉夫堡大学睡眠研究中心吉姆·霍恩教授说。 23:30：上床睡觉。如果你早上7点30起床，现在入睡可以保证你享受8小时充足的睡眠。 任何试图更改生物钟的行为，都将给身体留下莫名其妙的疾病，20、30年之后再后悔，已经来不及了。 一、晚上9-11点为免疫系统（淋巴）排毒时间，此段时间应安静或听音乐。 二、晚间11-凌晨1点，肝的排毒，需在熟睡中进行。 三、凌晨1-3点，胆的排毒，亦同。 四、凌晨3-5点，肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈，因排毒动作已走到肺；不应用止咳药，以免抑制废积物的排除。 五、凌晨5-7点，大肠的排毒，应上厕所排便。 六、凌晨7-9点，小肠大量吸收营养的时段，应吃早餐。疗病者最好早吃，在６点半前，养生者在７点半前，不吃早餐者应改变习惯，即使拖到9、10点吃都比不吃好。 七、半夜至凌晨4点为脊椎造血时段，必须熟睡，不宜熬夜。 本文转载自免费软件资讯站。]]></description>
			<content:encoded><![CDATA[<p><a onclick="return hs.expand(this)" href="http://riavs.cn/blog/wp-admin/attachment.php?fid=1262"><img style="border: 0px;" title="点击在新窗口中浏览此图片" src="http://blog.desktx.com/attachment/201001/1262342862_364505a8.jpg" border="0" alt="点击在新窗口中浏览此图片" /> </a><br />
<strong>7:30：起床。</strong>英国威斯敏斯特大学的研究人员发现，那些在早上5:22―7:21 分起床的人，其血液中有一种能引起心脏病的物质含量较高，因此，在7:21之后起床对身体健康更加有益。<a name="entrymore"></a><br />
打开台灯。“一醒来，就将灯打开，这样将会重新调整体内的生物钟，调整睡眠和醒来模式。”拉夫堡大学睡眠研究中心教授吉姆·霍恩说。喝一杯水。水是身体内成千上万化学反应得以进行的必需物质。早上喝一杯清水，可以补充晚上的缺水状态。</p>
<p><strong>7:30―8:00：在早饭之前刷牙。</strong>“在早饭之前刷牙可以防止牙齿的腐蚀，因为刷牙之后，可以在牙齿外面涂上一层含氟的保护层。要么，就等早饭之后半小时再刷牙。”英国牙齿协会健康和安全研究人员戈登·沃特金斯说。</p>
<p><strong>8:00―8:30：吃早饭。</strong>“早饭必须吃，因为它可以帮助你维持血糖水平的稳定。”伦敦大学国王学院营养师凯文·威尔伦说。早饭可以吃燕麦粥等，这类食物具有较低的血糖指数。</p>
<p><strong>8:30―9:00：避免运动。</strong>来自布鲁奈尔大学的研究人员发现，在早晨进行锻炼的运动员更容易感染疾病，因为免疫系统在这个时间的功能最弱。步行上班。马萨诸塞州大学医学院的研究人员发现，每天走路的人，比那些久坐不运动的人患感冒病的几率低25%。</p>
<p><strong>9:30：开始一天中最困难的工作。</strong>纽约睡眠中心的研究人员发现，大部分人在每天醒来的一两个小时内头脑最清醒。</p>
<p><strong>10:30：让眼睛离开屏幕休息一下。</strong>如果你使用电脑工作，那么每工作一小时，就让眼睛休息3分钟。</p>
<p><strong>11:00：吃点水果。</strong>这是一种解决身体血糖下降的好方法。吃一个橙子或一些红色水果，这样做能同时补充体内的铁含量和维生素C含量。</p>
<p><strong>13:00：在面包上加一些豆类蔬菜。</strong>你需要一顿可口的午餐，并且能够缓慢地释放能量。“烘烤的豆类食品富含纤维素，番茄酱可以当作是蔬菜的一部分。”维伦博士说。</p>
<p><strong>14:30―15:30：午休一小会儿。</strong>雅典的一所大学研究发现，那些每天中午午休30分钟或更长时间，每周至少午休3次的人，因心脏病死亡的几率会下降37%。</p>
<p><strong>16:00：喝杯酸奶。</strong>这样做可以稳定血糖水平。在每天三餐之间喝些酸牛奶，有利于心脏健康。</p>
<p><strong>17:00―19:00：锻炼身体。</strong>根据体内的生物钟，这个时间是运动的最佳时间，舍菲尔德大学运动学医生瑞沃·尼克说。</p>
<p><strong>19:30：晚餐少吃点。</strong>晚饭吃太多，会引起血糖升高，并增加消化系统的负担，影响睡眠。晚饭应该多吃蔬菜，少吃富含卡路里和蛋白质的食物。吃饭时要细嚼慢咽。</p>
<p><strong>21:45：看会电视。</strong>这个时间看会儿电视放松一下，有助于睡眠，但要注意，尽量不要躺在床上看电视，这会影响睡眠质量。</p>
<p><strong>23:00：洗个热水澡。</strong>“体温的适当降低有助于放松和睡眠。”拉夫堡大学睡眠研究中心吉姆·霍恩教授说。</p>
<p><strong>23:30：上床睡觉。</strong>如果你早上7点30起床，现在入睡可以保证你享受8小时充足的睡眠。</p>
<p>任何试图更改生物钟的行为，都将给身体留下莫名其妙的疾病，20、30年之后再后悔，已经来不及了。<br />
一、晚上9-11点为免疫系统（淋巴）排毒时间，此段时间应安静或听音乐。<br />
二、晚间11-凌晨1点，肝的排毒，需在熟睡中进行。<br />
三、凌晨1-3点，胆的排毒，亦同。<br />
四、凌晨3-5点，肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈，因排毒动作已走到肺；不应用止咳药，以免抑制废积物的排除。<br />
五、凌晨5-7点，大肠的排毒，应上厕所排便。<br />
六、凌晨7-9点，小肠大量吸收营养的时段，应吃早餐。疗病者最好早吃，在６点半前，养生者在７点半前，不吃早餐者应改变习惯，即使拖到9、10点吃都比不吃好。<br />
七、半夜至凌晨4点为脊椎造血时段，必须熟睡，不宜熬夜。<br />
本文转载自<a href="http://getfreeware.net/archives/943.html" target="_blank">免费软件资讯站</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=234</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>成功的用户界面的8个特性 / 8 Characteristics Of Successful User Interfaces</title>
		<link>http://riavs.cn/blog/?p=232</link>
		<comments>http://riavs.cn/blog/?p=232#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:44:34 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[collection]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[绘画]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=232</guid>
		<description><![CDATA[转载自乐闻设计http://www.gaolewen.com/ 当你构建你的用户界面和网站的时候，有各种各样的关于界面设计方法和模式的信息你可以使用， 对常见问题的解决方案和一般可用性的建议。下列专家给出的准则可能会引导你创造一个良好的用户界面， 但是究竟什么才是一个良好的界面？ 一个有价值的用户界面应该具有那些特性？以下八个特性是一个良好的用户界面所必须的： 清楚 简明 熟悉 易响应 一致 吸引力 高效 宽容 There is a lot of information out there about various interface design techniques and patterns you can use when crafting your user interfaces and websites, solutions to common problems and general usability recommendations. Following guidelines from experts will likely lead you towards [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #999999;">转载自乐闻设计</span><a href="http://www.gaolewen.com/"><span style="color: #999999;">http://www.gaolewen.com/</span></a></p>
<p><span style="color: #333333;">当你构建你的用户界面和网站的时候，有各种各样的关于界面设计方法和模式的信息你可以使用， 对常见问题的解决方案和一般可用性的建议。下列专家给出的准则可能会引导你创造一个良好的用户界面， 但是究竟什么才是一个良好的界面？ 一个有价值的用户界面应该具有那些特性？</span><span style="color: #000000;"><span style="color: #333333;">以下八个特性是一个良好的用户界面所必须的：<br />
</span><br />
<span style="color: #333333;">清楚<br />
简明<br />
熟悉<br />
易响应<br />
一致<br />
吸引力<br />
高效<br />
宽容</span></span></p>
<p>There is a lot of information out there about various interface design techniques and patterns you can use when crafting your user interfaces and websites, solutions to common problems and general usability recommendations. Following guidelines from experts will likely lead you towards creating a good user interface — but what exactly is a good interface? What are the characteristics of an effective user interface?</p>
<p> </p>
<p><strong>1.  Clear / 清楚的</strong><br />
清晰度是用户界面设计最重要的元素。事实上，用户界面设计的所有目的是为了使人们能够与您的系统通过沟通和功能来进行交互。 如果人们不知道你的应用程序怎样工作或在你的网站上应该去哪里，他们会困惑和沮丧。<br />
<img title="2009111011382570" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011382570.png" alt="2009111011382570" width="187" height="100" /><br />
<em>这是什么呢？鼠标移到WordPress的按钮时工具提示会弹出解释其职能。</em></p>
<p><strong>2. Concise / 简明</strong><br />
清晰的用户界面是很好的，但是，您应该谨慎，不要陷入过度明晰。定义和解释很容易被添加，但是你这样做的同时也增大了规模。您的界面规模增加。添加过多的解释，您的用户将不得不花费过多的时间去读它们。<br />
不仅要保持清晰，而且还保持简洁。当你能用一句话解释一项功能的时候就不要用三句话。当你可以用一个单词标记一个项，就不要用两个。 保持简洁可以节省你的用户的宝贵的时间。 同时保持清晰和简明并不容易，需要足够的时间和努力来实现，但其回报是值得的。  <br />
<img title="2009111011383512" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011383512.png" alt="2009111011383512" width="391" height="45" /><br />
<em>在 OS X 的音量控制中使用两个小图标以显示的音量从低到高。</em></p>
<p><strong>3.  Familiar / 熟悉</strong><br />
许多设计师努力使自己的界面，直观。但到底直观的真正意思是什么？直观也就是就是说可以自然地，本能地理解和领会。但是你怎么能做到直观一些？你可通过是它变的熟悉来实现。熟悉就是， 跟你以前遇到过的东西相似。当你熟悉的东西，你就知道怎样它怎么做-你知道会发生什么事情。 弄清你的用户熟悉的并把它们融合到你的用户界面中。<br />
<img title="2009111011384270" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011384270.png" alt="2009111011384270" width="487" height="62" /><br />
<em>GoPlan的标签页式界面。标签很熟悉，因为他们模仿文件夹上的标签。你清楚知道点击标签您将浏览该节和其他地方的标签将继续存在为了进一步导航。</em></p>
<p><strong>4.  Responsive / 易响应</strong><br />
易响应意味着两件事。首先，易响应意味着快速。如果没有软件在后台，界面应该响应很快。等待加载和缓慢的界面是令人沮丧。看起来加载的很快，反正就是界面快速载入（即使内容尚未赶上）改善了用户体验。<br />
易响应也意味着界面提供某种形式的反馈。界面应该反馈给用户，告知他们现在怎么了。你成功地按下那个按钮吗？你将如何知道？按钮应显示一个被按了的状态反馈，或许可以把按钮上的文字改成“正在加载… ”并且禁用按钮。是软件挂了还是内容载入中？用转动的轮子或显示进度栏的方式来保持用户在进程中。<br />
<img title="2009111011384789" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011384789.png" alt="2009111011384789" width="323" height="60" /><br />
<em>Gmail会显示一个进度栏当您第一次进入您的收件箱。 而不是逐步载入网页时，一旦一切准备就绪整个页面即时显示。</em></p>
<p><strong>5.  Consistent / 一致</strong><br />
之前我谈过关于上下文的重要性，以及它应如何指导你的设计决定。我认为，适应任何给定的上下文是很聪明，但是，一个界面仍然应保持一定程度的一致性。<br />
一致的界面，使用户能够开发惯用模式-他们会了解不同的按钮，标签，图示和其他界面元素的外观，并识别他们。认识到在不同的情况他们所做的事情不同。他们也将了解特定的东西如何工作，能够从过去的经验中更快的总结知道如何操作新功能。<br />
<img title="2009111011384227" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011384227.png" alt="2009111011384227" width="530" height="469" /><br />
<em>在Microsoft Office的用户界面是一致的是有原因的。</em></p>
<p><strong>6.  Attractive / 吸引力</strong><br />
这可能有一点争议，但我相信一个良好的界面应该有吸引力。吸引力在某种意义上，是与界面交互变得是愉快。是的，你可以让你的用户界面简单，易于使用，有效率和易反应，它将尽其出色-但如果你可以做额外的一步，使之有吸引力的。那样用户体验会真正令人满意。当你的软件使用起来是令人愉快的，你的客户或工作人员将不仅是简单地使用它-他们会期待着使用它。</p>
<p>当然有许多不同类型的软件和网站，所有的创作针对的不同的市场和用户。什么样看来’好’对任何一个特定的观众都会有所不同。这就是说，你应该为了你的用户来包装你的界面的的外观和风格。此外，美感设计应适度使用，并且是为了加强功能。美化界面不同于加载时使用多余的眼睛糖果。<br />
<img title="2009111011385924" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011385924.png" alt="2009111011385924" width="327" height="86" /><br />
<em>谷歌是众所周知的极简洁的界面，他们关注功能重于形式，但他们显然的花费时间美化了Chrome用户界面元素，如按钮和图标，使它们看起来正好体现了微妙的梯度和像素超薄突出。</em></p>
<p><strong>7.  Efficient / 高效率</strong><br />
用户界面像是车辆，带你去你要到的地方。这些地方是软件应用程序或网站的不同的功能。一个良好的界面可让您在执行这些功能更快。现在， ‘有效’听起来像一个相当模糊的属性-如果你把所有其他的事情在这个清单上，当然界面到头来还是需要高效？差不多，但不完全。<br />
你真正需要做的是使界面能高效的找出用户努力想要实现的，然后让他们可以有条不紊的做到。您必须确定您的应用程序应该如何工作’ -什么功能它需要有，什么样的目标是你努力努力争取实现？实现一个界面，可以让人们轻松地完成他们想要做的，而不只是简单的实现对各个功能的访问。<br />
<img title="2009111011386611" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011386611.png" alt="2009111011386611" width="242" height="198" /><br />
<em>苹果公司已经确认了人们在其iPhone上想要对照片做三个关键的事情，并在照片控制中提供按钮来分别完成他们。</em></p>
<p><strong>8.  Forgiving / 宽容</strong><br />
没有人是完美的，当使用你的软件或网站必定有人会犯错误。 如何处理这些错误将成为你的软件的质量一个重要指标。不要惩罚用户-建立一个宽容的界面，纠正问题。<br />
一个宽容的界面可以使你的用户远离代价高昂的错误。例如，如果有人删除了重要的信息，他们可以轻松地重新检索或撤消这一行动？ 当有人浏览到损坏或不存在的网页，他们会看到什么？他们会迎接一个加密的错误提示还是得到了一些有用的替代目的地？<br />
<img title="2009111011386395" src="http://www.icanui.com/wp-content/uploads/2009/11/2009111011386395.png" alt="2009111011386395" width="441" height="33" /><br />
<em>错误的删除了电子邮件？Gmail可让您迅速取消上一次的操作。</em></p>
<p>To conclude…结束…<br />
实现这些特性实际上可能同实现另外一些特性产生冲突。例如，试图使一个界面清晰，您可能会增加太多的描述和解释，即最终使整个界面变得大而笨重。缩减容量，努力使事情简洁可能产生相反的效果，使东西模糊不清。实现一个完美的平衡需要的技能和时间，解决方案根据不同的案例也并不一样。</p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=232</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AS3 优化 之 FOR内循环</title>
		<link>http://riavs.cn/blog/?p=230</link>
		<comments>http://riavs.cn/blog/?p=230#comments</comments>
		<pubDate>Fri, 05 Feb 2010 10:10:38 +0000</pubDate>
		<dc:creator>rayYee</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://riavs.cn/blog/?p=230</guid>
		<description><![CDATA[转载自8ria 写游戏只要有思路，就能实现，但这也只是从功能角度出发，能不能有好的效率，才是关键，于是想积累一些关于优化方面的知识。 关于AS3 FOR内循环的优化 当我们遍历一个数组的时候 ，你可能会这样写 private function testFor() : void { var tmpVar:int; for(var i:Number=0; i { tmpVar = testArray[i]; } } 执行这个函数50次，所用的时间是53.34毫秒。 如果我们将number类型改成int类型，如下 for(var i:int=0; i 这样所执行的时间是35.58毫秒。 如果先把数组的长度计算出来，速度会更快 var l:int = testArray.length; for(var i:int=0; i 这个仅仅用了21.6毫秒 所以在for循环上int比number快，将length在循环外事先定义出来比直接写在for条件语句里面要快。 再看两段代码 var tmpVar:int; for(var i:Number=0; i&#60;100000; i++) { tmpVar = SomeClass.SOME_CONSTANT; } 和 var tmpVar:int; var [...]]]></description>
			<content:encoded><![CDATA[<p>转载自<a href="http://www.8ria.com/">8ria<br />
</a>写游戏只要有思路，就能实现，但这也只是从功能角度出发，能不能有好的效率，才是关键，于是想积累一些关于优化方面的知识。</p>
<p>关于AS3 FOR内循环的优化</p>
<p>当我们遍历一个数组的时候 ，你可能会这样写</p>
<p>private function testFor() : void<br />
{<br />
var tmpVar:int;</p>
<p>for(var i:Number=0; i {<br />
tmpVar = testArray[i];<br />
}<br />
}</p>
<p>执行这个函数50次，所用的时间是53.34毫秒。</p>
<p>如果我们将number类型改成int类型，如下</p>
<p>for(var i:int=0; i</p>
<p>这样所执行的时间是35.58毫秒。</p>
<p>如果先把数组的长度计算出来，速度会更快</p>
<p>var l:int = testArray.length;</p>
<p>for(var i:int=0; i</p>
<p>这个仅仅用了21.6毫秒</p>
<p>所以在for循环上int比number快，将length在循环外事先定义出来比直接写在for条件语句里面要快。</p>
<p>再看两段代码</p>
<p>var tmpVar:int;</p>
<p>for(var i:Number=0; i&lt;100000; i++)<br />
{<br />
tmpVar = SomeClass.SOME_CONSTANT;<br />
}</p>
<p>和</p>
<p>var tmpVar:int;<br />
var myConstant:int = SomeClass.SOME_CONSTANT;</p>
<p>for(var i:Number=0; i&lt;100000; i++)<br />
{<br />
tmpVar = myConstant;<br />
}</p>
<p>前者的运行速度是34.08毫秒，后者的速度是 15.8毫秒</p>
<p>所以说 在FOR循环外先取到类属性，比拿到FOR循环内再去取类的属性的速度要快</p>
<p>变量在FOR内的定义<br />
for(var i:int=0; i&lt;100000; i++)<br />
{<br />
var v1:Number=10;<br />
var v2:Number=10;<br />
var v3:Number=10;<br />
var v4:Number=10;<br />
var v5:Number=10;<br />
}<br />
这个FOR需要用46.52毫秒，如果你用一个 var 去定义所有，将这些变量写成一行，像这样</p>
<p>for(var i:int=0; i&lt;100000; i++)<br />
{<br />
var v1:Number=10, v2:Number=10, v3:Number=10, v4:Number=10, v5:Number=10;<br />
}</p>
<p>执行之间缩短到 19.74</p>
<p>所以 在FOR循环内 尽量减少var这个关键字出现的次数，会提高效率</p>
<p>逻辑运算符的适当运用也会提高效率的</p>
<p>for(var i:int=0; i&lt;100000; i++)<br />
{<br />
var val1:int = 4 * 2;<br />
var val2:int = 4 * 4;<br />
var val3:int = 4 / 2;<br />
var val4:int = 4 / 4;<br />
}</p>
<p>这段执行时间为 49.12 毫秒， 如果换成下面的代码，将会降到 35.56 毫秒</p>
<p>for(var i:int=0; i&lt;100000; i++)<br />
{<br />
var val1:int = 4 &lt;&lt; 1;<br />
var val2:int = 4 &lt;&lt; 2; var val3:int = 4 &gt;&gt; 1;<br />
var val4:int = 4 &gt;&gt; 2;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://riavs.cn/blog/?feed=rss2&amp;p=230</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
