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 設定倒計時時間 ...