(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)更多渐变(Tween)
创建一个新的渐变
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)如果你想更灵活多变和更多地控制你的变化效果,你可能想创建一个新的形变动画来替代那些快捷方式。注意使用new来创建一个新的Fx.Tween的实例:
参考代码: window.addEvent(, () { newTweenElement = $(); newTween = Fx.Tween(newTweenElement);});参考代码: div id=/div button id=Set/div通过渐变设置样式
一旦你从一个元素创建了一个新的渐变,你可以轻松地通过.set()方法设置一个样式属性。这个和.setStyle()方法一样。
参考代码: newTweenSet = () { .set(, );}就像我们以前学习的,我们想要把我们的函数从domready事件中独立出来,但是在这个例子中,我们想要在domready事件中创建一个渐变,然后在外部引用它。我们已经掌握了一种在domready之外传递参数的方法(通过创建一个匿名函数并传递一个参数),今天我们要学习一种Moo化的更好的方式来传递渐变对象(这并不是说匿名函数在任何时候都不再合适)。
.bind();
通过.bind();,我们可以让一个函数里面的this等同于参数:
参考代码: $().addEvent(, newTweenSet.bind(newTween));因此,现在我们再看看上面的这个函数,this现在就等同于newTween了(就是我们的tween对象)。
现在我们把这些东西放在一起看看:
参考代码: newTweenSet = () { .set(, );} window.addEvent(, () { newTweenElement = $(); newTween = Fx.Tween(newTweenElement); $().addEvent(, newTweenSet.bind(newTween)); });启动一个渐变效果
现在,我们已经设置好了我们所有的渐变对象,我们的函数在domready事件之外,我们也学习了如何通过.set();方法设置一个样式表属性,我们来看看实际的渐变。启动一个渐变非常简单,和.fade();非常类似,总共有两种方式来使用.start();方法:
让一个属性值从当前值变化到另外一个值 先设置一个属性值,然后变化到另外一个值参考代码: newTween.start(, ); newTween.start(, , );现在,你就可以在一个函数内部通过使用.start();方法来启动这个渐变了,如果你使用了在函数上通过.bind();方法绑定了newTween,你可以使用this。
以上这些就是到现在为止全部的渐变(tween)了
尽管如此,关于渐变效果仍然有许多可以讲的。例如,如果你想一次同时渐变多个样式表属性,你可以使用.morph();方法。你还可以使用过渡效果库(transition)来改变它们进行过渡。不过这篇教程已经足够长了,因此我们把这些留在以后再讲。
更多学习包含一个MooTools 1.2的库,上面的例子,一个外部JavaScript文件,一个简单的HTML文件和一个CSS文件。
和以前一样,你最好的资源是MooTools 1.2的文档。
关于方法的信息 还有,浏览一下方法和库