DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jQuery Animation實現CSS3動畫示例介紹
jQuery Animation實現CSS3動畫示例介紹
編輯:JQuery特效代碼     
jQuery Animation的工作原理是通過將元素的CSS樣式從一個狀態改變為另一個狀態。CSS屬性值是逐漸改變的,這樣就可以創建動畫效果。只有數字值可創建動畫(比如 "margin:30px")。字符串值無法創建動畫(比如 "background-color:red")。詳細用法請參考jQuery 效果 - animate()方法和官方教程。

像CSS3好多效果因為不是數值的,所以是沒有辦法直接通過animate()方法實現的。如translate(), rotate(), scale(), skew(), matrix(), rotateX(), rotateY()等方法,這些方法的一個特點就是它們的值是字符和數字混合在一起的。因此我們是不可以直接用animate()方法來動態地修改它們的值來實現動畫的效果。

如果我們自己用JavaScript實現CSS3動畫,那麼我們只能自已通過setInterval()方法來實現,實現起來比較復雜。其實animate()方法就是基於setInterval()方法進行工作的,但是可以用方便的設置動畫速度,還可以設置是勻速還是變速。animate()方法的第二種用法有個step參數規定動畫的每一步要執行的函數。我們可以用使用一個不影響元素效果顯著的CSS值來觸發animate()方法,然後在step回調函數中修改我們想要修改的值,這樣就可以間接地實現動畫了。請看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屬性來觸發動畫,是因為我們這裡沒有文字,所以使用text-indent而不會影響到元素的樣式效果,這裡也可以用font-size等。然後使用animate()方法產生的節奏來實現動畫。以此類推,我們就可以實現很多效果了。具體例子請參考這裡

參考文檔
•jQuery 效果 - animate() 方法
•.animate()
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved