javascript?中動(dòng)畫制作方法?animate()屬性
animate是個(gè)非常冷門的方法,以至于百度和手冊上都找不到相關(guān)的資料。當(dāng)然通過一個(gè)小小的demo,我還是發(fā)現(xiàn)了方法的一些屬
animate是所有dom元素都有的方法,可以用來最做過度動(dòng)畫,關(guān)鍵幀動(dòng)畫。這個(gè)方法可以更方便的讓我們制作動(dòng)
animate共有兩個(gè)參數(shù) (很可惜似乎沒有回調(diào)函數(shù),沒發(fā)現(xiàn))
關(guān)鍵幀 (參數(shù)可以是數(shù)組或?qū)ο?,?shù)組內(nèi)包裹的也必須是對象)
對象里的屬性就是css屬性和值了
動(dòng)畫屬性設(shè)置 {參數(shù)數(shù)字或者對象}
目前發(fā)現(xiàn)的屬性有以下 :
- duration: 動(dòng)畫時(shí)長 (單位毫秒)
- iterations :重復(fù)次數(shù)(默認(rèn)1) 數(shù)字 (無限循環(huán):‘Infinity’) [非必須]
- fill :結(jié)束時(shí)復(fù)位 [不復(fù)位:forwards, 復(fù)位(默認(rèn)值):none] [非必須]
- delay : 設(shè)置動(dòng)畫延遲時(shí)長 (單位毫秒) [非必須]
- easing :設(shè)置動(dòng)畫 運(yùn)動(dòng)速率 [esse(默認(rèn)):慢-快-慢 ,linear: 勻速, ease-in: 慢-勻速, ease-in-out 慢-勻速-慢] [非必須]
通過兩個(gè)案例說明一下:
過度動(dòng)畫即第一個(gè)參數(shù)直接為對象{}
<div id="box" style=”width: 200px;height: 200px;background: red;border-radius:50% 50% 0 0;”></div>
<script>
// 獲取元素對象
var box = document.getElementById("box");
box.animate(
{ // 對象
transform:'rotate(360deg)'
},
{
duration: 1000, // 動(dòng)畫時(shí)長 (單位毫秒)
easing:'linear', // 平滑
iterations: Infinity, // 重復(fù)次數(shù) (無限循環(huán):Infinity)
},
);
</script>
第二個(gè)小盒子移動(dòng),第一個(gè)參數(shù)是數(shù)字,數(shù)組包裹著對象(每個(gè)對象就算一個(gè)關(guān)鍵幀)[{},{}]
<style type="text/css">
#box{
width: 200px;
height: 200px;
background: red;
position: absolute;
border-radius:50% 50% 0 0;
}
</style>
<div id="box"></div>
<script>
box.animate(
[ //關(guān)鍵幀(數(shù)組包裹對象)
{transform:'translate3d(0px, 0px, 0)',opacity:'1'}, // 第一幀
{transform:'translate3d(50px, 0px, 0)',opacity:'.8'}, // 第二幀
{transform:'translate3d(150px, 100px, 0)',opacity:'.5'}, // 第三幀
],
{
duration: 1000, // 動(dòng)畫時(shí)長 (單位毫秒)
iterations: 1, // 重復(fù)次數(shù) (無限循環(huán):Infinity)
fill:'forwards', //結(jié)束時(shí)不復(fù)位
delay:0, // 設(shè)置動(dòng)畫延遲時(shí)長 (單位毫秒)
easing:'linear' //設(shè)置動(dòng)畫 運(yùn)動(dòng)速率 (linear: 勻速)
},
);
</script> 到此這篇關(guān)于javascript 中動(dòng)畫制作方法 animate()屬性的文章就介紹到這了,更多相關(guān)javascript animate()屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
onmouseover事件和onmouseout事件全面理解
最近兩天在溫習(xí)onmouseover事件和onmouseout事件,其實(shí)里面有很多深?yuàn)W的知識,接下來小編給大家?guī)砹薿nmouseover事件和onmouseout事件全面了解,感興趣的朋友一起看下2016-08-08
js如何根據(jù)class獲取元素并且點(diǎn)擊元素詳解
這篇文章主要給大家介紹了關(guān)于js如何根據(jù)class獲取元素并且點(diǎn)擊元素的相關(guān)資料,獲取元素集合的方法有很多,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
使用JSX實(shí)現(xiàn)Carousel輪播組件的方法(前端組件化)
做這個(gè)輪播圖的組件,我們先從一個(gè)最簡單的 DOM 操作入手。使用 DOM 操作把整個(gè)輪播圖的功能先實(shí)現(xiàn)出來,然后在一步一步去考慮怎么把它設(shè)計(jì)成一個(gè)組件系統(tǒng)2021-04-04
js實(shí)現(xiàn)鼠標(biāo)拖拽div左右滑動(dòng)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)鼠標(biāo)拖拽div左右滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01
JS?限時(shí)限次數(shù)點(diǎn)擊按鈕的實(shí)現(xiàn)思路
這篇文章主要介紹了JS?限時(shí)限次數(shù)點(diǎn)擊按鈕,實(shí)現(xiàn)方法很簡單需要用一個(gè)變量作為計(jì)數(shù),點(diǎn)擊一次,計(jì)數(shù)加一點(diǎn)擊函數(shù)內(nèi)判斷計(jì)數(shù)變量設(shè)置定時(shí)恢復(fù),對實(shí)例代碼感興趣的朋友一起看看吧2022-03-03

