快速业务通道

MooTools教程(11):Fx.Morph、Fx选项和Fx事件

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-07

今天,我们继续探索一下这个库的Fx部分,我们将学习如何使用Fx.Morph(它从本质上可以让你同时渐变多个样式表属性),然后我们再检查一下应用到Fx.Tween和Fx.Morph的一些Fx选项,最后我们将看看如何使用Fx事件,譬如“onComplete”和“onStart”。通过这些选项和事件,我们可以获得更好的控制权来控制形变动画。

Fx.Morph

创建一个新的Fx.Morph

初始化一个新的形变和创建一个新的渐变很类似,除了你要指定多个样式属性以外。

参考代码: [复制代码] [保存代码]
  1. // 首先,把我们的元素赋值给一个变量
  2. var morphElement = $(''morph_element'');
  3.  
  4. // 现在,我们创建一个新的形变
  5. var morphObject = new Fx.Morph(morphElement);
  6.  
  7. // 现在我们可以设置样式属性,就像Fx.Tween一样
  8. // 不过我们这里可以设置多个样式属性
  9. morphObject.set({
  10.     ''width''100,
  11.     ''height''100,
  12.     ''background-color''''#eeeeee''
  13. });
  14.  
  15. // 我们也可以像启动一个渐变一样来启动我们的形变
  16. // 不过我们这里要同时放置多个属性值
  17. morphObject.start({
  18.     ''width''300,
  19.     ''height''300,
  20.     ''background-color''''#d3715c''
  21. });

上面这些就是全部的内容了,包括创建、设置和启动一个形变。

为了让这个更合理一些,我们应该创建我们的变量,把我们的函数独立出来,并创建一些事件来控制这这个事情:

参考代码: [复制代码] [保存代码]
  1. var morphSet = function(){
  2.     // 这里我们可以像Fx.Tween一样设置样式属性
  3.     // 不过在这里我们可以同时设置多个样式属性
  4.     this.set({
  5.         ''width''100,
  6.         ''height''100,
  7.         ''background-color''''#eeeeee''
  8.     });
  9. }
  10.  
  11. var morphStart = function(){
  12.     // 我们也可以像启动一个渐变一样启动一个形变
  13.     // 不过现在我们可以同时设置多个样式属性
  14.     this.start({
  15.         ''width''300,
  16.         ''height''300,
  17.         ''background-color''''#d3715c''
  18.     });
  19. }
  20.  
  21.  
  22. var morphReset = function(){
  23.     // 设置为最开始的值
  24.     this.set({
  25.         ''width''0,
  26.         ''height''0,
  27.         ''background-color''''#ffffff''
  28.     });
  29. }
  30.  
  31. window.addEvent(''domready''function() {
  32.     // 首先,把我们的元素赋值给一个变量
  33.     var morphElement = $(''morph_element'');
  34.  
  35.     // 现在,我们创建我们的形变
  36.     var morphObject = new Fx.Morph(morphElement);
  37.  
  38.     // 在这里我们给按钮添加点击事件
  39.     // 并且绑定morphObject和这个函数
  40.     // 从而可以在上面的函数中使用"this"
  41.     $(''morph_set'').addEvent(''click'', morphSet.bind(morphObject));  
  42.     $(''morph_start'').addEvent(''click'', morphStart.bind(morphObject));
  43.     $(''morph_reset'').addEvent(''click'', morphReset.bind(morphObject));
  44. });

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号