未實現的功能:無法實現單位換算,不能實現顏色漸變(還有很多,有待完善...)

代碼中的使用方法如下: 復制代碼 代碼如下: var $m = $M("divAnimate");

_("btnAnimate").onclick = " /> 野花高清影视免费观看,女仆乖H调教跪趴,特级做A爰片毛片免费69

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

一個簡單的js動畫效果代碼

實現的功能:移動,暫停,恢復,停止.

未實現的功能:無法實現單位換算,不能實現顏色漸變(還有很多,有待完善...)

代碼中的使用方法如下:
復制代碼 代碼如下:
var $m = $M("divAnimate");

_("btnAnimate").onclick = function(){
this.disabled = true;
var that = this;
$m.animate({left:"300px",top:"100px",width:"300px", height:"200px",opacity:0.3},{duration:5000,easing:Tween.Back.easeInOut}).delay(200)
.animate({left:"50px",top:"300px",width:"150px",height:"100px",opacity:0.8},{duration:2000,easing:Tween.Elastic.easeInOut,
callback:function(){
that.disabled = false;
}
});
}
_("btnPause").onclick = function(){
$m.pause();
this.disabled = true;
_("btnResume").disabled = false;
}
_("btnResume").disabled = true;
_("btnResume").onclick = function(){
$m.resume();
this.disabled = true;
_("btnPause").disabled = false;
}

_("btnStop").onclick = function(){
$m.stop();
_("btnAnimate").disabled = false;
}


功能實現:
復制代碼 代碼如下:
/* 簡單動畫方法
* 未實現單位換算
*/
var $M = function(obj){
var elem = ("string" === typeof obj )?document.getElementById(obj):obj;
var _this = {},props = {},timeId,isBusy = false,isPause = false;
var queue = [],_current;
//直線運動算法
function Linear(t,b,c,d){ return c*t/d + b;}
function setCss(className,value){
if(className == "opacity"){
if(document.defaultView){
elem.style["opacity"] = value;
} else {
elem.style["filter"] = 'alpha(opacity=' + 100 * value + ')';
}
} else {
elem.style[className] = value;
}
}
function getCss(className){
if(className == "opacity"){
var ret = "";
if(document.defaultView){
ret = document.defaultView.getComputedStyle(elem,null)['opacity'] || 1;
} else {
ret = elem.currentStyle['filter']?(elem.currentStyle['filter'].match(/^alpha/(opacity=([/d/.]+)/)$/))[1]/100 : 1;
}
return ret.toString();
} else {
return elem.style[className].toString();
}
}

function _move(params,easing,st,ht,callback){
var t = ((new Date()).getTime() - st);
_current.t = t;
if(isPause){return;}
easing = easing||Linear;
ht = ht || 500;
for(var p in params){
if(!props[p]){
var iv = parseFloat(getCss(p)) || 0;
var ev = parseFloat(params[p]);
props[p] = {
iv:iv,
iu:iv?getCss(p).substring(iv.toString().length):null,
ev:ev,
eu:params[p].toString().substring(ev.toString().length)
}
//TODO(初始值的單位和目標值的單位不相同需要處理)
}
if(t >= ht){t = ht;}
var nv = easing(t,props[p].iv,(props[p].ev - props[p].iv),ht);
nv = parseFloat(nv);
setCss(p,nv + props[p].eu);
}

if(t < ht){
timeId = setTimeout(function(){
_move(params,easing,st,ht,callback);
},13);
} else {
props = {};
isBusy = false;
if(callback){
callback();
}
run();
}
}
function run(){
if(!isBusy && queue.length != 0){
var o = queue.shift();
var _delay = 0;
while(o && o.delay){
_delay += o.delay;
o = queue.shift();
}
if(o){
_current = o;
isBusy = true;
setTimeout(function(){
var st = (new Date()).getTime();
_move(o.params,o.options.easing,st,o.options.duration,o.options.callback);
},_delay);
}
}
}

var _this = {
animate:function(params,options){
queue.push({params:params,options:options});
isPause = false;
run();
return _this;
},
delay:function(ms){
queue.push({delay:ms});
return _this;
},
pause:function(){
isPause = true;
return _this;
},
resume:function(){
if(_current){
var o = _current;
isPause = false;
var st = (new Date()).getTime() - _current.t;
_move(o.params,o.options.easing,st,o.options.duration,o.options.callback);
return _this;
}
},
stop:function(){
isPause = true;
isBusy = false;
queue = [];
props = {};
return _this;
}
};
return _this;
}

參考地址:
http://www.jb51.NET/article/24309.htm

JavaScript技術一個簡單的js動畫效果代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 十九岁在线观看免费完整版电影 | 一一本之道高清视频在线观看中文字幕 | 在教室伦流澡到高潮H免费视频 | 在线播放日韩欧美亚洲日本 | 成都电影免费中文高清 | 亚洲精品嫩草AV在线观看 | 国产在线精品亚洲观看不卡欧美 | 真人女人无遮挡内谢免费视频% | 好男人好资源在线播放 | 麒麟色欧美影院在线播放 | 最近韩国日本免费观看mv免费版 | 嫩草欧美曰韩国产大片 | 国内卡一卡二卡三免费网站 | 在线黑人抽搐潮喷 | 新新电影理论中文字幕 | 国产亚洲精品97在线视频一 | 久久亚洲精品专区蓝色区 | 成人18视频在线 | 扒开老师大腿猛进AAA片软件 | 92国产精品午夜免费福利视频 | 99热精品在线视频观看 | 人人做人人干 | 亚洲电影网址 | 猫咪www958ii| 亚洲国产高清在线 | 高H黄暴NP辣H一女多男 | 国产综合无码一区二区色蜜蜜 | 香蕉水蜜桃牛奶涩涩 | 丝瓜涩涩屋黄瓜香蕉丝瓜 | 亚洲乱码中文字幕久久孕妇黑人 | 91av电影在线观看 | 精品在线观看一区 | 久久久久久极精品久久久 | 手机在线成人精品视频网 | 女子扒开腿让男生桶爽 | 99在线免费 | 色女孩综合| 中文字幕一区久久久久 | 10分钟免费观看视频 | 麻豆乱码一卡二卡三卡视频 | 精品久久久久亚洲 |