js 定時器的學習和對動畫的封裝(定時器)

2022-09-13 15:33:10 字數 1344 閱讀 7298

1.定時器:在js裡面,定時器主要有兩種,setinterval(function, time) 和 settimeout(function,time),

setinterval:每個time秒執行一次函式function

settimeout:time秒後執行函式,僅且只執行一次

對於定時器的定義主要有三種

setinterval(function(),20);

setinterval(fn,20);//第二種

setinterval("fn()",20);//第三種

function fn()

2.對勻速動畫的封裝:也就是對定時器的使用,來做動畫特效

(1)單向的運動

function animate(obj, target)

obj.style.left = obj.offsetleft +10 +"px";

},30);

}

(2)雙向運動,通過比較目標座標與開始座標的位置比較決定運動的方向

function animate(obj, target)

},30);

}

2、緩動動畫的封裝

(1)水平方向的緩動

function animate(obj, target)

},30);

}

(2)通過傳遞屬性值實現動畫

function animatesingle(obj, attr, target)

},30);

}

(3)多個屬性的動畫

function animatemoer(obj, json, fn) ,fn為**函式

clearinterval(obj.timer);

obj.timer = setinterval(function()else

var step = (json[attr] - current)/10;

step = step > 0 ? math.ceil(step) : math.floor(step);

//做動畫

if(attr== "opacity")else

}else if(attr == "zindex")

else

if(current != json[attr])}}

if(flag)

},30);

}function fn()

function getstyle(obj, attr) else

}

事件委託 定時器 清除定時器 封裝動畫函式

1 什麼是事件委託,原理是什麼?定義 利用事件冒泡,只指定乙個事件處理程式,就可以管理某一型別的所有事件 原理 事件委託利用事件冒泡 從最深的節點開始,然後逐步向上傳播事件 只在他們的父元素上指定乙個事件處理程式,就可以管理某一型別的的所有事件。2 js 中有幾種定時器,有什麼區別?兩種setint...

定時器的封裝

定時器的封裝可以通知窗體,可以不通知窗體。1 定義 typedef void callback timerproc hwnd hwnd,uint umsg,uint ptr idevent,dword dwtime class cmytimer 2 實現 cmytimer cmytimer bool...

定時器類的封裝

在scene裡新增 this.addchild new timecount 使用美術字的倒計時 需要 fnt檔案預載入 美術字的名字注意修改 使用的時候通過 cc.eventmanager.dispatchcustomevent user time count set time,5 設定倒計時時間 ...