Yahoo! UI Library: Resize Utility的使用

以前一直在写一些Javascript UI类库,写过treeMenu,divDialog等类库,自己使用起来感觉还不错。但是自己写类库有个缺点,就是效率很低,往往写个没有bug,重用性好的js类库要花上比较长的时间,在结合css的情况下更是如此。大家都知道调试js是件有趣而痛苦的事情,即使有firefox的帮助,也感觉比调试java,C#等编译类型语言的程序要困难。不过看了Yahoo的UI Library,我想以后不用自己再写JS UI类库了,把它们用好了就行了。Yahoo! UI Library 给我们提供了很多的 javascript+css实现的UI类库,在日常的web开发中已经够用了。现在我试着把上面的提供的常用效果做一遍,就先从Resize Utility类库开始吧! Resize Utility类库允许我们改变html页面元素的大小,比如说某个层。我们先来实现个简单的div拉伸效果吧。 首先新建个demo1.html,内容如下:
  1. <html> 
  2. <head> 
  3. <title>Resize Div</title> 
  4. <style type="text/css"> 
  5.   #resizeMe { background-color:red; 
  6.               height: 200px;
  7.               width:200px; 
  8.               border: 1px solid black;
  9.               } 
  10. </style> 
  11. </head> 
  12. <body>
  13.  <div id="resizeMe"> 
  14.     <p>I will to be resize</p> 
  15.  </div> 
  16. </body>
  17.  </html>

然后试着运行一下,我们可以看到一个背景为红色的div,但是它不能被鼠标拉伸或者收缩。 现在我们在demo1.html的head部分加入如下的代码:
  1. <!-- Skin CSS file --> 
  2. <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.5.1/build/assets/skins/sam/resize.css">
  3.  <!-- Utility Dependencies -->
  4.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/yahoo-dom-event/yahoo-dom-event.js"></script> 
  5.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/dragdrop/dragdrop-min.js"></script> 
  6.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/element/element-beta-min.js"></script> 
  7.  <!-- Optional Animation -->
  8.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/animation/animation-min.js"></script> 
  9.  <!-- Source file for the Resize Utility --> 
  10. <script src="http://yui.yahooapis.com/2.5.1/build/resize/resize-beta-min.js"></script>

然后我们在demo1.html的body部分加入如下的代码(注意要加在被resize的div的后面):
  1. <script type="text/javascript"
  2.     var resize = new YAHOO.util.Resize('resizeMe'); 
  3. </script>


demo1.html修改后的完整代码如下:
  1. <html> 
  2. <head> 
  3. <title>Resize Div</title>
  4.  <!-- Skin CSS file --> 
  5. <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.5.1/build/assets/skins/sam/resize.css">
  6.  <!-- Utility Dependencies -->
  7.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/yahoo-dom-event/yahoo-dom-event.js"></script> 
  8.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/dragdrop/dragdrop-min.js"></script> 
  9.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/element/element-beta-min.js"></script> 
  10.  <!-- Optional Animation -->
  11.  <script type="text/javascript" src="http://yui.yahooapis.com/2.5.1/build/animation/animation-min.js"></script> 
  12.  <!-- Source file for the Resize Utility --> 
  13. <script src="http://yui.yahooapis.com/2.5.1/build/resize/resize-beta-min.js"></script>
  14.  <style type="text/css"> 
  15.   #resizeMe {background-color:red;  
  16.              height: 200px;   
  17.              width: 200px;    
  18.              border: 1px solid black;} 
  19. </style>
  20.  </head> 
  21. <body> 
  22.   <div id="resizeMe"> 
  23.      <p>I will to be resize</p> 
  24.   </div> 
  25. <script type="text/javascript">  new YAHOO.util.Resize('resizeMe'); </script>
  26.  </body>
  27.  </html>

现在再打开demo1.html看看,那个红色的div已经可以被resize了。

我们再来看看实现的关键点: 1.先是要把Resize Utility类库用到的相关js和css文件导入进去,这里我们都是用网上的文件,所以必须能上网才能实现效果。我们也可以提前把这些文件下载下来,以后用本地的相对路径把它们包含进去就可以了。 2.调用如下语句新建一个resize对象: new YAHOO.util.Resize('resizeMe') resizeMe是将要被resize的div的id  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值