天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Mootools 1.2教程 Fx.Tween的使用

和我們看到的其他的MooTools函數(shù)一樣,這些方法使用起來都非常簡單,但是功能都很強(qiáng)大。Tween可以讓你添加那些極“炫”的效果――可以很平滑地發(fā)生形變動畫,從而改善你的用戶體驗。
Tween的快捷方法
我們通常都從“基本知識”入手,不過MooTools 1.2只為漸變(tween)提供了這樣極其出色的快捷方法,它們使用起來都極其簡單以至于我忍不住要從這里開始。
.tween();
一個漸變(tween)是一個在兩個樣式屬性值之間的平滑的變化。舉個例子,通過漸變(tween)你可以把div的寬度(width)平滑地由100像素變化為300像素。
參考代碼: 復(fù)制代碼 代碼如下:
// 創(chuàng)建一個新的函數(shù)
var tweenerFunction = function() {
// 選中你要使用漸變的元素
// 然后加上.tween
// 最后聲明你要變化到的屬性和值
$('tweener').tween('width', '300px');
}
window.addEvent('domready', function() {
// 在這里給一個按鈕添加一個事件
// 當(dāng)點(diǎn)擊時初始化這個漸變
// 并調(diào)用我們的漸變函數(shù)
$('tween_button').addEvent('click', tweenerFunction);
});

相應(yīng)于上面的代碼,我們的HTML代碼看起來大概應(yīng)該是這樣的:
參考代碼:
復(fù)制代碼 代碼如下:
<div id="tweener"></div>
<button id="tween_button">300 width</button>

.fade();
這個方法可以讓你平滑地調(diào)整一個元素的不透明度(opacity)。這個使用起來和上面的例子幾乎一模一樣:
參考代碼:復(fù)制代碼 代碼如下:
// 創(chuàng)建一個新函數(shù)
var tweenFadeFifty = function() {
// 在這里創(chuàng)建你的選擇器
// 然后添加.fade
// 最后聲明一個0到1之間的值(0代表不可見,1代表完全可見)
$('tweener').fade('.5');
}
window.addEvent('domready', function() {
// 在這里給按鈕添加一個事件
// 點(diǎn)擊時初始化這個漸變
// 并調(diào)用我們的漸變函數(shù)
$('tween_fade_fifty').addEvent('click', tweenFadeFifty);
});

參考代碼:
復(fù)制代碼 代碼如下:
<div id="tweener">
<button id="tween_fade_fifty">Fade to fifty percept opacity</button>

.highlight();
醒目(highlight)是一個目標(biāo)非常明確(也極其有用)的漸變快捷方法,它提供了兩個功能:
使用它來平滑變化到一種不同的背景色
直接設(shè)置一個不同的背景色,然后平滑變化到另外一個背景色
這些在創(chuàng)建用戶反饋時非常有用。例如,你可以在一個東西被選中時讓某個元素閃一下,或者你改變一下顏色,然后當(dāng)它保存或者關(guān)閉時再閃一下。這有非常多的選擇,而且非常簡單易用。在這個例子中,讓我們創(chuàng)建兩個div,然后分別添加兩種類型的醒目(highlight)方法:
參考代碼:
復(fù)制代碼 代碼如下:
// 創(chuàng)建一個函數(shù)
var tweenHighlight = function(event) {
// 這里我們使用了event.target,這是從這個函數(shù)中傳過來的參數(shù)
// 這個意思是指“觸發(fā)事件的目標(biāo)(來源)”
// 由于這個效果應(yīng)用到觸發(fā)事件的元素上面
// 因此我們不需要再創(chuàng)建選擇器
// 注意:addEvent將會自動把event對象作為參數(shù)傳入這個調(diào)用函數(shù)
// ... 非常方便
event.target.highlight('#eaea16');
}
// 創(chuàng)建一個函數(shù)
// 你需要傳入一個參數(shù)
// 由于這個函數(shù)是在一個事件(event)里面被調(diào)用的
// 這個函數(shù)將會自動傳入event對象
// 然后你就可以通過.target來引用這個元素
// (event的目標(biāo)元素)
var tweenHighlightChange = function(item) {
// 這里我們不是使用一個顏色,而是添加了一個逗號來分隔第二個
// 這將設(shè)置第一個顏色,然后變化到第二個顏色
item.target.highlight('#eaea16', '#333333');
}
window.addEvent('domready', function() {
$('tweener').addEvent('mouseover', tweenHighlight);
$('tweenerChange').addEvent('mouseover', tweenHighlightChange);
});

參考代碼:
復(fù)制代碼 代碼如下:
<div id="tweener"></div>
<div id="tweenerChange"></div>

快捷方法示例
這里是一些效果的快捷方法的在線的示例。你可以按不同順序點(diǎn)擊這些按鈕,然后注意一下它們的變化:
參考代碼:
復(fù)制代碼 代碼如下:
var tweenerFunction = function() {
$('tweener').tween('width', '300px');
}
var tweenerGoBack = function() {
$('tweener').tween('width', '100px');
}
// .fade 也可以接受'out'和'in'作為參數(shù),相當(dāng)于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);
});

參考代碼:
復(fù)制代碼 代碼如下:
<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>

參考代碼:
復(fù)制代碼 代碼如下:
#tweener {
height: 100px
width: 100px
background-color: #3399CC
}

把鼠標(biāo)移上去可以看到第一種類型的醒目效果。
300 width
100 width
Fade Out
Fade to 50% opacity
Fade In
更多漸變(Tween)
創(chuàng)建一個新的漸變
如果你想更靈活多變和更多地控制你的變化效果,你可能想創(chuàng)建一個新的形變動畫來替代那些快捷方式。注意使用“new”來創(chuàng)建一個新的Fx.Tween的實例:
參考代碼:
復(fù)制代碼 代碼如下:
window.addEvent('domready', function() {
// 首先我們把要變化的元素賦值給一個變量
var newTweenElement = $('newTween');
// 現(xiàn)在我們創(chuàng)建一個動畫事件,然后把這個元素作為參數(shù)傳入
var newTween = new Fx.Tween(newTweenElement);
});

參考代碼:
復(fù)制代碼 代碼如下:
<!-- 這個是我們要應(yīng)用漸變效果的元素 -->
<div id="newTween"></div>
<!-- 這個是啟動漸變效果的按鈕 -->
<button id="NETTween_set">Set</div>

通過漸變設(shè)置樣式
一旦你從一個元素創(chuàng)建了一個新的漸變,你可以輕松地通過.set()方法設(shè)置一個樣式屬性。這個和.setStyle()方法一樣。
參考代碼:
復(fù)制代碼 代碼如下:
var newTweenSet = function() {
// 注意"this"的使用
// 學(xué)習(xí)如何使用"this"
this.set('width', '300px');
}

就像我們以前學(xué)習(xí)的,我們想要把我們的函數(shù)從domready事件中獨(dú)立出來,但是在這個例子中,我們想要在domready事件中創(chuàng)建一個漸變,然后在外部引用它。我們已經(jīng)掌握了一種在domready之外傳遞參數(shù)的方法(通過創(chuàng)建一個匿名函數(shù)并傳遞一個參數(shù)),今天我們要學(xué)習(xí)一種Moo化的更好的方式來傳遞漸變對象(這并不是說匿名函數(shù)在任何時候都不再合適)。
.bind();
通過.bind();,我們可以讓一個函數(shù)里面的“this”等同于參數(shù):
參考代碼:
復(fù)制代碼 代碼如下:
// 首先我們給上面我們看到的那個按鈕添加一個點(diǎn)擊事件
// 然后,不只是僅僅調(diào)用這個函數(shù)
// 我們調(diào)用這個函數(shù)并且添加".bind()"
// 然后我們替換掉任何我們要傳遞給函數(shù)的
// 現(xiàn)在,在這個"newTweenSet"函數(shù)內(nèi)部,"this"將指向"newTween"
$('NETTween_set').addEvent('click', newTweenSet.bind(newTween));

因此,現(xiàn)在我們再看看上面的這個函數(shù),“this”現(xiàn)在就等同于“newTween”了(就是我們的tween對象)。
現(xiàn)在我們把這些東西放在一起看看:
參考代碼:
復(fù)制代碼 代碼如下:
// 這里是我們的函數(shù)
var newTweenSet = function() {
// 由于我們使用了bind,現(xiàn)在"this"就指向了"newTween"
// 因此,這里的相當(dāng)于是:
// newTween.set('width', '300px')
this.set('width', '300px');
}
window.addEvent('domready', function() {
// 首先把我們的元素賦值給一個變量
var newTweenElement = $('newTween');
// 然后我們new一個FX.Tween,然后賦值給一個變量
var newTween = new Fx.Tween(newTweenElement);
// 現(xiàn)在添加我們的事件,并綁定newTween和newTweenSet
$('NETTween_set').addEvent('click', newTweenSet.bind(newTween));
});

啟動一個漸變效果
現(xiàn)在,我們已經(jīng)設(shè)置好了我們所有的漸變對象,我們的函數(shù)在domready事件之外,我們也學(xué)習(xí)了如何通過.set();方法設(shè)置一個樣式表屬性,我們來看看實際的漸變。啟動一個漸變非常簡單,和.fade();非常類似,總共有兩種方式來使用.start();方法:
讓一個屬性值從當(dāng)前值變化到另外一個值
先設(shè)置一個屬性值,然后變化到另外一個值
參考代碼:
復(fù)制代碼 代碼如下:
// 這將讓寬度(width)從當(dāng)前已經(jīng)存在的值變化到300px
newTween.start('width', '300px');
// 這將首先設(shè)置寬度(width)為100px,然后變化到300px
newTween.start('width', '100px', '300px');

現(xiàn)在,你就可以在一個函數(shù)內(nèi)部通過使用.start();方法來啟動這個漸變了,如果你使用了在函數(shù)上通過.bind();方法綁定了“newTween”,你可以使用“this”。
以上這些就是到現(xiàn)在為止全部的漸變(tween)了……
盡管如此,關(guān)于漸變效果仍然有許多可以講的。例如,如果你想一次同時“漸變”多個樣式表屬性,你可以使用.morph();方法。你還可以使用過渡效果庫(transition)來改變它們進(jìn)行過渡。不過這篇教程已經(jīng)足夠長了,因此我們把這些留在以后再講。

更多學(xué)習(xí)……

下載一個包含你開始所需要的東西的zip包

包含一個MooTools 1.2的庫,上面的例子,一個外部JavaScript文件,一個簡單的HTML文件和一個CSS文件。

和以前一樣,你最好的資源是MooTools 1.2的文檔。

  • 關(guān)于.tween();方法的信息
  • 還有,瀏覽一下.morph();方法和transitions庫

JavaScript技術(shù)Mootools 1.2教程 Fx.Tween的使用,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 蜜芽资源高清在线观看 | jizz黑丝| 国产精品久久人妻无码网站一区无 | 久青草影院 | 欧美日韩一区不卡在线观看 | 久久婷婷久久一区二区三区 | 武侠古典久久亚洲精品 | 俄罗斯6一9泑女网站 | 亚洲国产亚综合在线区尤物 | 亚洲中字幕永久在线观看 | 无码毛片内射白浆视频 | sm主人调教揉花蒂H SM双性精跪趴灌憋尿调教H | 无人区尖叫之夜美女姐姐视频 | 内射白嫩少妇超碰 | 久久久免费观看 | 欧美一区二区高清 | 97色伦久久视频在观看 | 国产手机在线亚洲精品观看 | 亚洲欧美日韩高清中文在线 | 母狗黄淑珍 | 中文字幕精品在线视频 | 小小水蜜桃3视频在线观看 小向美奈子厨房magnet | 中文字幕欧美日韩VA免费视频 | 美女内射少妇一区二区四区 | 精品一成人岛国片在线观看 | 亚洲一区二区女搞男 | 久久久久伊人 | 久久电影精品久久99久久 | YELLOW日本动漫高清免费 | 香蕉水蜜桃牛奶涩涩 | 暖暖视频大全免费观看 | 日韩精品a在线视频 | 日本福利片午夜免费观着 | 国产成人精品综合久久久 | 亚洲 自拍 清纯 综合图区 | www免费看.男人的天堂 | 手机在线观看毛片 | 两性午夜色视频免费网站 | 国产偷窥盗摄一区二区 | 日日日夜夜在线视频 | 成片免费观看视频在线网 |