jQuery Animation實現(xiàn)CSS3動畫示例介紹
更新時間:2013年08月14日 09:02:01 作者:
jQuery Animation的工作原理是通過將元素的CSS樣式從一個狀態(tài)改變?yōu)榱硪粋€狀態(tài),下面以一個實例為大家詳細介紹下具體的實現(xiàn),感興趣的朋友可以參考下
jQuery Animation的工作原理是通過將元素的CSS樣式從一個狀態(tài)改變?yōu)榱硪粋€狀態(tài)。CSS屬性值是逐漸改變的,這樣就可以創(chuàng)建動畫效果。只有數(shù)字值可創(chuàng)建動畫(比如 "margin:30px")。字符串值無法創(chuàng)建動畫(比如 "background-color:red")。詳細用法請參考jQuery 效果 - animate()方法和官方教程。
像CSS3好多效果因為不是數(shù)值的,所以是沒有辦法直接通過animate()方法實現(xiàn)的。如translate(), rotate(), scale(), skew(), matrix(), rotateX(), rotateY()等方法,這些方法的一個特點就是它們的值是字符和數(shù)字混合在一起的。因此我們是不可以直接用animate()方法來動態(tài)地修改它們的值來實現(xiàn)動畫的效果。
如果我們自己用JavaScript實現(xiàn)CSS3動畫,那么我們只能自已通過setInterval()方法來實現(xiàn),實現(xiàn)起來比較復(fù)雜。其實animate()方法就是基于setInterval()方法進行工作的,但是可以用方便的設(shè)置動畫速度,還可以設(shè)置是勻速還是變速。animate()方法的第二種用法有個step參數(shù)規(guī)定動畫的每一步要執(zhí)行的函數(shù)。我們可以用使用一個不影響元素效果顯著的CSS值來觸發(fā)animate()方法,然后在step回調(diào)函數(shù)中修改我們想要修改的值,這樣就可以間接地實現(xiàn)動畫了。請看transform例子:
<div id="box"></div>
#box {
width:100px;
height:100px;
position:absolute;
top:100px;
left:100px;
text-indent: 90px;
background-color:red;
}
$('#box').animate({ textIndent: 0 }, {
step: function(now,fx) {
$(this).css('-webkit-transform','rotate('+now+'deg)');
},
duration:'slow'
},'linear');
這里使用text-indent屬性來觸發(fā)動畫,是因為我們這里沒有文字,所以使用text-indent而不會影響到元素的樣式效果,這里也可以用font-size等。然后使用animate()方法產(chǎn)生的節(jié)奏來實現(xiàn)動畫。以此類推,我們就可以實現(xiàn)很多效果了。具體例子請參考這里
參考文檔
•jQuery 效果 - animate() 方法
•.animate()
像CSS3好多效果因為不是數(shù)值的,所以是沒有辦法直接通過animate()方法實現(xiàn)的。如translate(), rotate(), scale(), skew(), matrix(), rotateX(), rotateY()等方法,這些方法的一個特點就是它們的值是字符和數(shù)字混合在一起的。因此我們是不可以直接用animate()方法來動態(tài)地修改它們的值來實現(xiàn)動畫的效果。
如果我們自己用JavaScript實現(xiàn)CSS3動畫,那么我們只能自已通過setInterval()方法來實現(xiàn),實現(xiàn)起來比較復(fù)雜。其實animate()方法就是基于setInterval()方法進行工作的,但是可以用方便的設(shè)置動畫速度,還可以設(shè)置是勻速還是變速。animate()方法的第二種用法有個step參數(shù)規(guī)定動畫的每一步要執(zhí)行的函數(shù)。我們可以用使用一個不影響元素效果顯著的CSS值來觸發(fā)animate()方法,然后在step回調(diào)函數(shù)中修改我們想要修改的值,這樣就可以間接地實現(xiàn)動畫了。請看transform例子:
復(fù)制代碼 代碼如下:
<div id="box"></div>
#box {
width:100px;
height:100px;
position:absolute;
top:100px;
left:100px;
text-indent: 90px;
background-color:red;
}
$('#box').animate({ textIndent: 0 }, {
step: function(now,fx) {
$(this).css('-webkit-transform','rotate('+now+'deg)');
},
duration:'slow'
},'linear');
這里使用text-indent屬性來觸發(fā)動畫,是因為我們這里沒有文字,所以使用text-indent而不會影響到元素的樣式效果,這里也可以用font-size等。然后使用animate()方法產(chǎn)生的節(jié)奏來實現(xiàn)動畫。以此類推,我們就可以實現(xiàn)很多效果了。具體例子請參考這里
參考文檔
•jQuery 效果 - animate() 方法
•.animate()
相關(guān)文章
EASYUI TREEGRID異步加載數(shù)據(jù)實現(xiàn)方法
找了一下官方文檔,看了EASYUI的異步加載,弄了我兩三個小時,死活都不出數(shù)據(jù)2012-08-08
jquery插件validation實現(xiàn)驗證身份證號等
這篇文章主要介紹了jquery插件validation實現(xiàn)驗證身份證號、護照、電話號碼、email十分的簡單實用,有需要的小伙伴可以參考下。2015-06-06
Jquery下EasyUI組件中的DataGrid結(jié)果集清空方法
要求選擇“地區(qū)”及“代維公司”后,刷新第一個DataGrid框體,下面為大家介紹下如何清空Jquery下EasyUI組件中的DataGrid結(jié)果集2014-01-01
jquery實現(xiàn)刷新隨機變化樣式特效(tag標(biāo)簽樣式)
本文主要介紹了tag標(biāo)簽隨機多彩變化的超鏈接樣式,使用JQ+DIV+CSS實現(xiàn)刷新隨機變化樣式特效。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02
jQuery設(shè)置聚焦并使光標(biāo)位置在文字最后的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨Query設(shè)置聚焦并使光標(biāo)位置在文字最后的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08

