利用setinterval實現
採用定時器實現
window.onload=function()
start.onclick=function()//開始動畫
stopmove.onclick=function()//停止動畫
}
利用requestanimationframe
requestanimationframe是瀏覽器用於定時迴圈操作的乙個介面,類似於settimeout,主要用途是按幀對網頁進行重繪。
requestanimationframe的優勢,在於充分利用顯示器的重新整理機制,比較節省系統資源。顯示器有固定的重新整理頻率(60hz或75hz),也就是說,每秒最多只能重繪60次或75次,requestanimationframe的基本思想就是與這個重新整理頻率保持同步,利用這個重新整理頻率進行頁面重繪。此外,使用這個api,一旦頁面不處於瀏覽器的當前標籤,就會自動停止重新整理。這就節省了cpu、gpu和電力。
// 相容性處理
window.requestanimframe = (function()
)})()
//獲取動畫anim
var elem = document.getelementbyid('mydiv')
var starttime = undefined
function render(time)
elem.style.left = ((time - starttime) / 10) % 300 + 'px'
}elem.onclick = function() )()
}
js動畫實現透明度動畫
在本次例項中,由於一般主流的瀏覽器對於透明度opacity最大值為1,但是在ie6最大值是100,此次例子是按主流瀏覽器的透明度來算的,所以定義的是小數,也可以定義為整數為單位,在運算的時候遇到主流的瀏覽器除以100就可以了。例項 透明度動畫 title style body,div opacity...
原生js實現簡單動畫效果
實現動畫效果可以用jquery提供的animate方法,或一些外掛程式來實現,但是隨著前端元件化開發的流行,jquery大量的dom操作已經顯得十分多餘,正在逐漸從前端技術棧中被淘汰,下面我們使用原生js實現簡單的勻速動畫效果和緩動效果 勻速動畫實現水平移動 css樣式 box line400 li...
js的幀動畫
doctype html html lang en head meta charset utf 8 meta name viewport content width device width,initial scale 1.0 title document title script src scri...