YUI3基础

      Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。
      YUI3是Yahoo!下一代JavaScript和CSS库。它增强了新的Yahoo!主页, Yahoo!邮箱, 和Yahoo!其他网站的处理能力。该库包括the core components、a full suite of utilities、the Widget Infrastructure, a growing collection of widgets, CSS resources, and tools。所有的组件都是使用授权为 BSD许可证。
       除了YUI3库包含的核心组件(core components),还有一系列由YUI社区的开发者创建的组件,这些组件提供了额外的功能函数,在WEB应用程序开发中丰富了YUI3的功能。

 

1.Getting Started(http://developer.yahoo.com/yui/3/):
       (1).在实践中检验YUI包提供的例子。
             我们建议从基本的YUI模块(YUI module)开始并慢慢迁移到节点(Node)。其他的实用程序(比如IO和Drag、Drop)为应用程序开发增加了亮点。
       (2).请记住:在YUI的网站上对于每一个组件都有由YUI库作者撰写的完全的用户指导手册,这些是最好的资源。
             另外当出现问题时你可以查看API文档寻求帮助。
       (3).Visit the Gallery。
             YUI3 Gallery包含数以百计的用户提供的、以YUI3为基础的模块(modules),你可以通过YUI().use()方法直接引用。
       (4).Start building(开始建立)
             使用YUI Confiigurator为YUI3使用或基于你自己的开发来配置一个页面而非使用YUI3源包提供的例子。
       (5).成为YUI社区的一员。  


2.JS和YUI的DOM
       JS中操作DOM:

<script type="text/javascript">
	function tdom () {
		var dom = document.getElementById("other");  
		dom.setAttribute("width",100);  
	}
</script>

 

     YUI操作DOM:
     YUI里面已经封装了DOM,并且将DOM的操作方法全部重做了,如果同样实现上面的操作,YUI3里面你就需要写成这样:

<script type="text/javascript" src="yui-min.js"></script>  
<script type="text/javascript">
	YUI().use("node", function(Y){
		var dom = Y.one("#other");
		//var dom = Y.one(document.getElementById("other"));
		dom.setStyle("width",100);
	});
</script>

     YUI()函数负责生成一个YUI实例并返回,在参数里可以设置一些配置项,例如debug什么的,这里我们什么都没设置。'node'参数指明要加载的模块,通过控制台我们可以看到页面上会加载到node模块所需的所有js文件。

      YUI().use()方法的参数为有’node’,’event’,’json’之类的,这都是YUI的moudle;最后一个参数是一个回调函数,该函数在完成所有指定模块的加载后被调用,调用时传递一个参数:一个YUI的实例。

例如:
	YUI().use("node", function(Y) {  
		//......
	});  
	
	YUI().use("node", "resize", function(Y) {  
		//......
	}); 

 

3.yui模块

   

 

4.让YUI跑起来

第一个YUI应用:
<html>
	<head>
		<script type="text/javascript" src="yui-min.js"></script>  
		<script type="text/javascript">
			YUI().use("node",function(Y){
				var but = Y.one("#id_but");		
				but.on("click",function(e){
					alert(e.target.get('tagName'));		//INPUT
					var div = Y.one("#other");
					alert(div.getX() + ":" +div.getStyle("width"));	//60 200
					div.setStyle('backgroundColor', '#D00050'); 
					div.set("innerHTML", "Welcome");
				});
			});
		</script>
    </head>  
    <body> 
		<input type="button" nam="n_but" id="id_but" value="click"/>
		<div id="other" style="position:absolute;border:2px solid skyblue;width:200px;height:200px;background-color:yellow;top:100px;left:60px;"></div>	
	</body>
</html>

 

第二个YUI应用:
<html>
	<head>
		<script type="text/javascript" src="yui-min.js"></script>  
		<script type="text/javascript">
			YUI().use("resize",function(Y){
				var resize = new Y.Resize({
					node: '#other'
				});
			});
		</script>
    </head>  
    <body> 
		<div id="other" style="position:relative;border:2px solid skyblue;width:200px;height:200px;background-color:yellow;top:100px;left:60px"></div>	
	</body>
</html>

 

第三个YUI应用:
<html>
	<head>
		<script type="text/javascript" src="yui-min.js"></script>  
		<script type="text/javascript">
			YUI().use("resize", "node",function(Y){
				var but = Y.one("#id_but");		
				but.on("click",function(e){
					alert(e.target.get('tagName'));		//INPUT
					var div = Y.one("#other");
					alert(div.getX() + ":" +div.getStyle("width"));	//60 200
					div.setStyle('backgroundColor', '#D00050'); 
					div.set("innerHTML", "Welcome");
					var resize = new Y.Resize({
						node: '#other'
					});					
				});				
			});
		</script>
    </head>  
    <body> 
		<input type="button" nam="n_but" id="id_but" value="click"/>
		<div id="other" style="position:relative;border:2px solid skyblue;width:200px;height:200px;background-color:yellow;top:100px;left:60px"></div>	
	</body>
</html>

      说明: 

      <script>中通过src引入yui-min.js在IE下程序运行正常,在FF下则会出现问题,即在FF不知道如何打开该相对路径yui-min.js,将其该HTML文件和yui-min.js放在服务器下通过URL访问则允许正常。

 

你可能感兴趣的:(JavaScript,应用服务器,css,Yahoo,yui)