Mootools 1.2教程(10)——Fx.Tween的使用
作者:Fdream 来源:Fdream博客 发布时间:2008-12-02 18:03:00
原文地址:30 Days of Mootools 1.2 Tutorials - Day 10 - Using FX.Tween
MooTools 1.2的渐变
阅读上一讲:Mootools 1.2教程(9)——输入过滤第二部分(字符串)
今天我们开始第三讲,我们今天主要看一下Fx.Tween。和我们看到的其他的MooTools函数一样,这些方法使用起来都非常简单,但是功能都很强大。Tween可以让你添加那些极“炫”的效果——可以很平滑地发生形变动画,从而改善你的用户体验。
Tween的快捷方法
我们通常都从“基本知识”入手,不过MooTools 1.2只为渐变(tween)提供了这样极其出色的快捷方法,它们使用起来都极其简单以至于我忍不住要从这里开始。
.tween();
一个渐变(tween)是一个在两个样式属性值之间的平滑的变化。举个例子,通过渐变(tween)你可以把div的宽度(width)平滑地由100像素变化为300像素。
参考代码:
// 创建一个新的函数
var tweenerFunction = function() {
// 选中你要使用渐变的元素
// 然后加上.tween
// 最后声明你要变化到的属性和值
$('tweener').tween('width', '300px');
}
window.addEvent('domready', function() {
// 在这里给一个按钮添加一个事件
// 当点击时初始化这个渐变
// 并调用我们的渐变函数
$('tween_button').addEvent('click', tweenerFunction);
});
相应于上面的代码,我们的HTML代码看起来大概应该是这样的:
参考代码:
<div id="tweener"></div>
<button id="tween_button">300 width</button>
.fade();
这个方法可以让你平滑地调整一个元素的不透明度(opacity)。这个使用起来和上面的例子几乎一模一样:
参考代码:
// 创建一个新函数
var tweenFadeFifty = function() {
// 在这里创建你的选择器
// 然后添加.fade
// 最后声明一个0到1之间的值(0代表不可见,1代表完全可见)
$('tweener').fade('.5');
}
window.addEvent('domready', function() {
// 在这里给按钮添加一个事件
// 点击时初始化这个渐变
// 并调用我们的渐变函数
$('tween_fade_fifty').addEvent('click', tweenFadeFifty);
});
参考代码:
<div id="tweener">
<button id="tween_fade_fifty">Fade to fifty percept opacity</button>
.highlight();
醒目(highlight)是一个目标非常明确(也极其有用)的渐变快捷方法,它提供了两个功能:
使用它来平滑变化到一种不同的背景色
这些在创建用户反馈时非常有用。例如,你可以在一个东西被选中时让某个元素闪一下,或者你改变一下颜色,然后当它保存或者关闭时再闪一下。这有非常多的选择,而且非常简单易用。在这个例子中,让我们创建两个div,然后分别添加两种类型的醒目(highlight)方法:
参考代码:
// 创建一个函数
var tweenHighlight = function(event) {
// 这里我们使用了event.target,这是从这个函数中传过来的参数
// 这个意思是指“触发事件的目标(来源)”
// 由于这个效果应用到触发事件的元素上面
// 因此我们不需要再创建选择器
// 注意:addEvent将会自动把event对象作为参数传入这个调用函数
// ... 非常方便
event.target.highlight('#eaea16');
}
// 创建一个函数
// 你需要传入一个参数
// 由于这个函数是在一个事件(event)里面被调用的
// 这个函数将会自动传入event对象
// 然后你就可以通过.target来引用这个元素
// (event的目标元素)
var tweenHighlightChange = function(item) {
// 这里我们不是使用一个颜色,而是添加了一个逗号来分隔第二个
// 这将设置第一个颜色,然后变化到第二个颜色
item.target.highlight('#eaea16', '#333333');
}
window.addEvent('domready', function() {
$('tweener').addEvent('mouseover', tweenHighlight);
$('tweenerChange').addEvent('mouseover', tweenHighlightChange);
参考代码:
<div id="tweener"></div>
<div id="tweenerChange"></div>
快捷方法示例
这里是一些效果的快捷方法的在线的示例。你可以按不同顺序点击这些按钮,然后注意一下它们的变化:
参考代码:
var tweenerFunction = function() {
$('tweener').tween('width', '300px');
}
var tweenerGoBack = function() {
$('tweener').tween('width', '100px');
}
// .fade 也可以接受'out'和'in'作为参数,相当于0和1
var tweenFadeOut = function() {
$('tweener').fade('out');
}
var tweenFadeFifty = function() {
$('tweener').fade('.5');
}
var tweenFadeIn = function() {
$('tweener').fade('in');
}
var tweenHighlight = function(event) {
event.target.highlight('#eaea16');
}
window.addEvent('domready', function() {
$('tween_button').addEvent('click', tweenerFunction);
$('tween_reset').addEvent('click', tweenerGoBack);
$('tween_fade_out').addEvent('click', tweenFadeOut);
$('tween_fade_fifty').addEvent('click', tweenFadeFifty);
$('tween_fade_in').addEvent('click', tweenFadeIn);
$('tweener').addEvent('mouseover',tweenHighlight);
参考代码:
<div id="tweener"></div><br />
<button id="tween_button">300 width</button>
<button id="tween_reset">100 width</button>
<button id="tween_fade_out">Fade Out</button>
<button id="tween_fade_fifty">Fade to 50% opacity</button>
<button id="tween_fade_in">Fade In</button>
参考代码:
#tweener {
height: 100px
width: 100px
background-color: #3399CC
把鼠标移上去可以看到第一种类型的醒目效果。


猜你喜欢
- 问题发现在七月份时,经常发现有几个定时任务报错,查看了下异常原因,大概定位是数据库执行异常### Error querying databa
- 引言所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe卷
- Check In/Out功能简介:该功能是专门针对多用户管理而预设的。即多用户使用多帐号管理同一站点。
- 1. 背景在网页爬取的时候,有时候会使用scrapy.FormRequest向目标网站提交数据(表单提交)。参照scrapy官方文档的标准写
- 实例如下:var aaa = { "0":"a", "1"
- 通常我们在vue里面使用别人开发的组件,第一步就是install,第二步在main.js里面引入,第三步Vue.use这个组件。今天我简单的
- 鼠标双击滚动屏幕,单击停止滚动,很多小说新闻网站都有这个很人性化的功能,阅读起小说、新闻来很方便,不用手动拉滚动条。js代码如下:<h
- 公司里很多部门,每个部门可以发多条信息,但每条信息只对应一个部门部门类:class Dep(models.Model): nam
- 在使用element-ui的时候,有一个常用的组件,那就是el-popover,但是element-ui官方文档中样式跟用法都比较局限,在使
- 概述今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.inde
- 决策树也是有监督机器学习方法。 电影《无耻混蛋》里有一
- 一、数据合并与分割1.tf.concat()填入两个tensor, 指定某维度,在指定的维度合并。除了合并的维度之外,其他的维度必须相等。2
- 数据类型:float — 浮点数可以精确到小数点后面15位int — 整型可以无限 * ool — 非零为true,零为falselist —
- 本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下import mysql.connectorimport
- 在实用美术中,常有"远看色彩近看花,先看颜色后看花,七分颜色三分花"的说法。这也就说明,在任何设计中,色彩对视觉的刺激起
- 想要实现的功能空列表中添加数原代码:FitnessBest = []FitnessBest = FitnessBest.appe
- 本文是OpenCV图像视觉入门之路的第11篇文章,本文详细的在图像形态学进行了图像处理,例如:腐蚀操作、膨胀操作、开闭运算、梯度运算、Top
- 我就废话不多说了,直接上代码吧!import torchimport timex = torch.Tensor([[1, 2, 3], [5
- 一、DSE算法背景介绍1. DES的采用1979年,美国银行协会批准使用1980年,美国国家标准局(ANSI)赞同DES作为私人使用的标准,
- 一、前言这几天宅在家里网上冲浪,无意间看到了一个比较有趣的项目,就是使用 Python 语言实现对视频中的人物的眨眼进行计数并描绘在图表中。