<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[蜗爱CSS]]></title>
  <subtitle type="html"><![CDATA[css初学者 前端技术]]></subtitle>
  <id>http://www.woaicss.com/</id>
  <link rel="alternate" type="text/html" href="http://www.woaicss.com/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.woaicss.com/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2012-03-19T22:07:31+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[js练习28—json跨域数据访问]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2012-03-19T22:07:31+08:00</updated>
	  <published>2012-03-19T22:07:31+08:00</published>
		  <summary type="html"><![CDATA[JSONP即JSON with Padding。如果要进行跨域请求，我们可以通过使用html的script标记来进行跨域请求，并在响应中返回要执行的script代码，其中可以直接使用JSON传递javascript对象。<br/><a target="_blank" href="http://www.woaicss.com/works/Demo/2012.03/jsonp.html" rel="external">[demo]</a><br/><strong>demo 客户端代码：</strong><br/><textarea name="code" class="JScript">
<body>
	<script type=&#34;text/javascript&#34;>
       	var oScript = document.cr&#101;ateElement('script'); 
    	oScript.type='text/javascript';
    	oScript.src = 'jsonp.js';
		document.getElementsByTagName('head')[0].appendChild(oScript);
		function jsonCallBack(json){
			
			alert(json[1].name);
		
		}
    </script>
</body>
</textarea><br/>其中 jsonCallback 是客户端注册的，获取跨域服务器上的json数据后，回调的函数。<br/>src这个 url 是跨域服务器取 json 数据的接口，参数为回调函数的名字，返回的格式为<br/><textarea name="code" class="JScript">
jsonCallBack([{'name':'woniu','password':'1111'}{'name':'woaicss','password':'123444'}]);
</textarea><br/><strong>Jsonp原理：</strong><br/>首先在客户端注册一个callback, 然后把callback的名字传给服务器。<br/> <br/>此时，服务器先生成 json 数据。 <br/>然后以 javascript 语法的方式，生成一个function , function 名字就是传递上来的参数 jsonp.<br/> <br/>最后将 json 数据直接以入参的方式，放置到 function 中，这样就生成了一段 js 语法的文档，返回给客户端。<br/> <br/>客户端浏览器，解析script标签，并执行返回的 javascript 文档，此时数据作为参数，传入到了客户端预先定义好的 callback 函数里.（动态执行回调函数）<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/2012031901.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=300</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[js练习27—城市选择]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2012-03-18T20:03:06+08:00</updated>
	  <published>2012-03-18T20:03:06+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp; 过年回来后就没更新博客，该继续练习系列了。今天的demo，之前去一家公司的笔试题，这个是地区选择，联动下拉菜单和这个一个原理<br/><br/><a target="_blank" href="http://www.woaicss.com/works/Demo/2012.03/城市选择.html" rel="external">[demo]</a><br/><br/>&nbsp;&nbsp; 申请友链的同学，有的站打不开，有的跟前端毫无关联，所以抱歉]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/2012031801.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=299</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[[转]从细节做起：设计师们，请善待PSD]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=9" label="杂七杂八" /> 
	  <updated>2012-03-12T11:35:04+08:00</updated>
	  <published>2012-03-12T11:35:04+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;作为设计师，应该将设计稿的最完美一面表现给其他人看。就像jobs 说的一样，好设计师，不会使用烂木头作为衣柜的背板。虽然你最终的设计稿很完美，但是你的psd让人觉得很糟糕，同样会让之后的切图仔觉得你不是个优秀的设计师，对不起死去的jobs哇～ XD<br/><br/>　　在企鹅村玩代码玩了半年多，玩起psd来都有点生疏了。 yixieshi<br/><br/>　　最近对设计MM 给的psd文件产生了点暧昧。有感悟抒发一下。看看是不是都有一样的困惑和同样的问题。<br/><br/><strong>如果切图仔死了，死因很可能是一份可怕的psd</strong><br/><br/>　　1. psd 文件尺寸 竟然有71M，(也许看着觉得还好，但是一开ps 就杯具了，内存不够 = =)<br/><br/>　　2. psd 图层上百个，各种看不懂的图层。毫无规律的图层分组让人菊花一紧。<br/><br/>　　3. 设计稿完全是个插画，怎么看都不像个网页，无从下手切图。(恨不得把psd 吃下去 &gt;.&lt;)<br/><br/>　　4. GUI为矢量图，边界不清晰。(切图成果，糊得一比)。<br/><br/>　　作为切图仔，暂时就列了这么些 碰到的问题。相信有和多人有同感。<br/><br/>　　那么作为设计师MM的你们又应该如何去避免呢? 对症下药 一一破解。<br/><br/><strong>合理分层，结构清晰 互联网的一些事</strong><br/><br/>　　不管你做的是设计，还是插画。结构设计也是一种设计，当你合理并且清晰的规划好你的设计稿，那么这个设计就有十之八九了。<br/><br/><strong>那么如何对网页设计稿进行分组分层呢?</strong> <br/><br/>　　1. 按框架分。(网页分 ，头部head ， 主题 main，底部 foot，以此类推)。<br/><br/>　　2. 按模块分。(每个小原件，小装饰，合成一个大物件就能做为一个模块)<br/><br/>　　3. 按属性分。(这点比较重要，设计师如果做的是web界面，需要了解什么是“图片输出” 和 “代码输出”, 原因是当切图的时候，我们需要将 “代码输出”类型所属的图层隐藏掉，然后再进行导出)。还有一些注释(注释好重要，后面有讲)相关的东西。<br/><br/>　　4. 按状态分，(web设计跟插画设计 一个很大的区别就是 web设计是有交互的，需要针对各个交互状态进行分层分组) 互联网的一些事<br/><br/>　　“代码输出” 指的是设计稿中的一些效果是可以使用代码来实现的，如后期可编辑的文字(大段文字，小按钮里的宋体文字)，圆角，渐变效果(高级浏览器可实现)。<br/><br/>　　“图片输出” 则是指出了代码输出以外的东西，如图标icon，背景效果，以及一些 使用代码不可实现的文字效果(如艺术字体)。<br/><br/><img src="http://www.woaicss.com/attachments/month_1203/s2012312113257.png" border="0" alt=""/><br/><br/><strong>减少尺寸，去其痔疮是关键</strong><br/><br/>　　如果你做的是大喷绘 psd 有个7,80M 可以理解。但是你做的是web设计稿也那么大，就有点不可理喻啦。<br/><br/>　　毕竟切图仔的电脑总是没有设计师的强大哇，并且我们还要跑个IDE编辑器，跑个虚拟机，再跑N个浏览器。这个时候要是还要打开一个70M的PSD设计稿(预计占用内存1G)，这个时候 谁蛋疼谁知道哇 囧rz 互联网的一些事<br/><br/>　　所以对切图仔好点，把psd弄小点。如何弄小点，往下看。(毕竟俺是过来人 ^__^). yixieshi<br/><br/>　　1.去除没用的大尺寸素材图层，(当设计稿需要交接给切图仔的时候，最好复制一份设计稿，去除psd中无用处的原始素材图)。因为素材图片是唯一难压缩的东西(psd尺寸大很多时候是因为这个)，且运行时占内存大。<br/><br/>　　2.去除无关图层，(这个是禁忌哇，如果跟设计稿不相关的最好删掉，或者新建一个temp组丢那里面，不然很容易误导切图仔，而且还占内存，别以为隐藏掉就不占内存啦 XD)。 一些事<br/><br/>　　3.慎用智能图层。(智能图层在CS4的时候就开始有了。) 很好用，因为不影响原素材的质量，如放大缩小，但是TMD 占内存，吃cpu哇 &gt;.&lt;<br/><br/>　　4.合并列表型块状设计，(这点很纠结，也很重要) web设计稿中有一些设计是列表型的。如：文章列表，信息列表。通常设计的时候是先制作一份，然后复制个十几个。 但是。。。。但是，复制太多了占内存哇。0 0，果断保留关键的一份，或者表示几种状态的几份。然后把其他的都合并图层了。 相信我，这样做切图仔会很开心。^__^<br/><br/><strong>边界清晰，不再模糊</strong><br/><br/>　　web设计中，最忌讳糊糊的感觉了。因为很多东西是需要精确到像素的。 互联网的一些事<br/><br/>　　1.形状模糊，有些时候使用形状工具因为没有对齐到像素(见配图),导致做出来的形状边缘都糊糊的。 一些事<br/><br/>　　解决办法很简单，使用选取工具(A)，小移一下形状让它对齐到像素即可，或者干脆栅格化形状擦去模糊的部分即可。<br/><br/>　　2.素材模糊，素材让人觉得糊糊得看起来不是那么专业? 简单的锐化一下，会发现很好用(我用的比较多的就是USM锐化)。 互联网的一些事<br/><br/>　　3.文字模糊，有些时候发现矢量的字体怎么调大小都觉得边缘糊糊的。果断，复制一份(备份用)，然后栅格化，小小的锐化一下。^_^<br/><br/><img src="http://www.woaicss.com/attachments/month_1203/l2012312113411.png" border="0" alt=""/><br/><br/><strong>良好的注释图层，凸现专业气质</strong><br/><br/>　　代码需要注释，设计稿也同样需要注释。同样是两份设计稿，相信你一定很喜欢带注释的设计稿。 一些事<br/><br/>　　相信我，给你的psd 新建一个组叫注释(comments)，那么切图仔的眼睛里一定闪烁着晶莹的东西。^__^]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/works/2012031001.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=298</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[javascript-获取数组最大元素索引]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2012-01-11T17:48:06+08:00</updated>
	  <published>2012-01-11T17:48:06+08:00</published>
		  <summary type="html"><![CDATA[javascript 获取数组元素最大值的索引值。<br/><textarea name="code" class="JScript">
(function(){
			var arr = new Array(1,7,0,4,3,10);
			Array.prototype.max = function() {   
			 var max = this[0]; 
			 var len = this.length;  
			 for (var i = 1; i < len; i++){
			   this.index = i;
			   if (this[i] > max) {       
			   max = this[i ]; 
			   num = this.index;
			  }  
			 }    
			 return num; 
			}
			 alert(arr.max());
		})()
</textarea>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/2012011101.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=297</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[js练习26—事件委托]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2012-01-05T00:09:22+08:00</updated>
	  <published>2012-01-05T00:09:22+08:00</published>
		  <summary type="html"><![CDATA[事件委托就是为了提高性能，在一个页面上使用一个事件来管理多种类型的事件。<br/><br/>例如需要下面三个li上分别绑定不同的事件：<br/><textarea name="code" class="Xml">
<ul id=&#34;box&#34;>
		<li id=&#34;c_border&#34;>蜗爱css -事件委托demo1-点我边框变红</li>
		<li id=&#34;c_height&#34;>蜗爱css -事件委托demo2-点我高度变高</li>
              <li id=&#34;c_back&#34;>蜗爱css -事件委托demo3-点我背景变色</li>
</ul>
</textarea><br/><a target="_blank" href="http://www.woaicss.com/works/Demo/2012.01/2012010501.html" rel="external">[demo]</a><br/>通常写法：<br/><textarea name="code" class="JScript">
(function(){
		 function $(id){return document.getElementById(id);}
		 $('c_border').onclick = function(){
			this.style.cssText = &#34;border:1px solid red&#34;;
			//this.style.border = &#34;1px solid red&#34;;
		 };
		  $('c_height').onclick = function(){
			this.style.height = 40 + 'px';
		 };
		  $('c_back').onclick = function(){
			this.style.cssText = &#34;background:#000;color:#fff;&#34;;
		 };
    })()
</textarea><br/>事件委托写法：<br/><textarea name="code" class="JScript">
(function(){
		 function $(id){return document.getElementById(id);}
		 oUl = $('box');
		 oUl.onclick = function(ev){
			var ev = ev || window.event; 
			var target = ev.target || ev.srcElement; 
			switch(target.id){
				case &#34;c_border&#34;:
				$('c_border').style.cssText = &#34;border:1px solid red&#34;;
				break;
				case &#34;c_height&#34;:
				$('c_height').style.height = 40 + 'px';
				break;
				case &#34;c_back&#34;:
				$('c_back').style.cssText = &#34;background:#000;color:#fff;&#34;;
				break;
			}
		}
	})()
</textarea><br/><span style="color:red">优点：</span><br/>事件委托对于web应用程序的性能有如下几个优点：<br/>1.需要管理的函数变少了<br/>2.占用的内存少了<br/>3.javascript代码和Dom结构之间的关联更少了<br/>相关：<br/><a target="_blank" href="http://younglab.blog.51cto.com/416652/274132" rel="external">JavaScript中的事件委托</a><br/><a target="_blank" href="http://www.cnblogs.com/ashun/archive/2006/11/27/event_javascri&#112;t_ie_firefox_gorush.html" rel="external">firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/20120104.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=291</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[高效javascript—Mark地址]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2012-01-02T23:50:29+08:00</updated>
	  <published>2012-01-02T23:50:29+08:00</published>
		  <summary type="html"><![CDATA[Mark 个地址&nbsp;&nbsp;<a target="_blank" href="http://www.cnblogs.com/justinw/archive/2010/03/17/1688113.html" rel="external">[高效javascript]</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/20120102mark.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=290</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[js练习25—通过class选择页面元素]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2012-01-01T11:12:09+08:00</updated>
	  <published>2012-01-01T11:12:09+08:00</published>
		  <summary type="html"><![CDATA[&nbsp;&nbsp;通过class选择页面元素，可以是多个class。函数：<br/><br/><textarea name="code" class="JScript">
function getByClass(oParent,sClass) { 
		var aTmp = [],// var aTmp = new Array();
			aEle = oParent.getElementsByTagName('*');
			var pattern = new RegExp(&#34;\\b&#34;+sClass+&#34;\\b&#34;); //正则，'\b'：匹配单词边界
		    for (var i=0; i<aEle.length; i++ ) {
		   if (pattern.test(aEle[i].className)){
				aTmp.push(aEle[i]);
			}
		   }
		   return aTmp;
	}
</textarea><br/><a target="_blank" href="http://www.woaicss.com/works/Demo/2012.01/getByclass.html" rel="external">[demo]</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/20110101.html.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=289</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[js练习24—弹出隐藏层]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2011-12-24T16:29:57+08:00</updated>
	  <published>2011-12-24T16:29:57+08:00</published>
		  <summary type="html"><![CDATA[面向对象 小demo<br/><br/><a target="_blank" href="http://www.woaicss.com/works/Demo/2011.12/20111224.html" rel="external">[demo]</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/20111224.html.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=288</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[js练习23—仿flash图片轮换(二)]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2011-11-29T23:33:17+08:00</updated>
	  <published>2011-11-29T23:33:17+08:00</published>
		  <summary type="html"><![CDATA[<br/><a target="_blank" href="http://www.woaicss.com/works/demo/2011.11/2011112901.html" rel="external">[demo]</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/2011112901.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=285</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[js练习22—仿flash图片轮换(一)]]></title>
	  <author>
		 <name>woniu</name>
		 <uri>http://www.woaicss.com/</uri>
		 <email>wo-ai-niqq@163.com</email>
	  </author>
	  <category term="" scheme="http://www.woaicss.com/default.asp?cateID=4" label="Js/jQuery" /> 
	  <updated>2011-11-26T23:57:06+08:00</updated>
	  <published>2011-11-26T23:57:06+08:00</published>
		  <summary type="html"><![CDATA[直接上demo<br/><br/><a target="_blank" href="http://www.woaicss.com/works/demo/2011.11/2011112601.html" rel="external">[demo]</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.woaicss.com/article/js/2011112601.htm" /> 
	  <id>http://www.woaicss.com/default.asp?id=284</id>
  </entry>	
		
</feed>

