快速业务通道

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

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

示例

为了生成上面的变形代码,我们可以用一种我们在这个系列的教程中还没有见过的方式来重用我们的函数。这上面所有的变形元素都使用了两个函数,一个当鼠标进入时渐变淡出,另外一个在当鼠标离开时渐变返回:

参考代码: [复制代码] [保存代码]
  1. // 这是我们在鼠标进入时调用的函数
  2. // 宽度渐变到700px
  3. var enterFunction = function() {
  4.     this.start(''width''''700px'');
  5. }
  6.  
  7. // 这是我们在鼠标离开时调用的函数
  8. // 宽度渐变回300px
  9. var leaveFunction = function() {
  10.     this.start(''width''''300px'');
  11. }
  12.  
  13. window.addEvent(''domready''function() {
  14.     // 这里我们把一些元素赋值给变量
  15.     var quadIn = $(''quadin'');
  16.     var quadOut = $(''quadout'');
  17.     var quadInOut = $(''quadinout'');
  18.  
  19.     // 然后我们创建三个渐变元素
  20.     // 分别对应上面的三个变量
  21.     quadIn = new Fx.Tween(quadIn, {
  22.     link: ''cancel'',
  23.     transition: Fx.Transitions.Quad.easeIn,
  24.     onStart: function(passes_tween_element){
  25.         passes_tween_element.highlight(''#C54641'');
  26.     },
  27.     onComplete: function(passes_tween_element){
  28.         passes_tween_element.highlight(''#E67F0E'');
  29.     }    
  30.     });
  31.  
  32.    quadOut = new Fx.Tween(quadOut, {
  33.     link: ''cancel'',
  34.     transition: ''quad:out''
  35.     });
  36.  
  37.     quadInOut = new Fx.Tween(quadInOut, {
  38.     link: ''cancel'',
  39.     transition: ''quad:in:out''
  40.     });
  41.  
  42.     // 现在我们添加鼠标进入和鼠标离开事件
  43.     // 注意.addEvents的使用
  44.     // 则和.addEvent的使用类似
  45.     // 不过你可以通过下面的模式添加多个事件
  46.     $(''quadin'').addEvents({
  47.     // 首先,你要说明是什么事件,并把事件用单引号引起来
  48.     // 然后后面跟一个冒号(:)
  49.     // 最后放置你的函数
  50.     // 在这个例子中,函数banding到这个渐变对象
  51.     ''mouseenter'': enterFunction.bind(quadIn),
  52.     ''mouseleave'': leaveFunction.bind(quadIn)
  53.     });
  54.  
  55.     $(''quadout'').addEvents({
  56.     // 注意我们这里是怎样重复使用这个函数的
  57.     ''mouseenter'': enterFunction.bind(quadOut),
  58.     ''mouseleave'': leaveFunction.bind(quadOut)
  59.     });
  60.  
  61.     $(''quadinout'').addEvents({
  62.     // 我们这里也使用了那些同样的函数
  63.     // 不过每次我们都应用一个事件到不同的元素
  64.     // 并且绑定不同的渐变
  65.     ''mouseenter'': enterFunction.bind(quadInOut),
  66.     ''mouseleave'': leaveFunction.bind(quadInOut)
  67.     });

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号