欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS Tween 顏色漸變

 更新時間:2008年12月30日 15:16:52   作者:  
從我寫的as tween改寫的,基本功能跟as里面寫的一樣,只是沒有擴展特定功能的接口(比如alpha2,move2,size2,color2等接口,這些在as tween里面都有實現(xiàn))。
有31中緩動算法,實現(xiàn)了顏色的自動轉(zhuǎn)換(#f00 #ff0000 rgb(255,0,0)格式到顏色運算格式,最后返回#ff0000格式)、px單位的自動轉(zhuǎn)換。
調(diào)用接口:
/**
* 對外接口
* Tween的示例
* @param startProps 開始屬性,單個屬性或者數(shù)組
* @param endProps 結(jié)束屬性,單個屬性或者數(shù)組
* @param timeSeconds 運動消耗時間,單位秒
* @param animType 動作類型,字符串型,內(nèi)部自己轉(zhuǎn)換算子
* @param delay 延遲時間,多長時間后開始運動,單位秒
*/
window.rtween = function(startProps, endProps, timeSeconds, animType, delay)
{
var tw = new Tween();
tw.start(startProps, endProps, timeSeconds, animType, delay);
return tw;
}
示例如下:
http://img.jb51.net/online/Tween.htm

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]

選擇列表里面的緩動算法,點前面的按鈕,就會以想對的緩動算法運動

源代碼: http://img.jb51.net/jslib/jquery/rtween.js
核心代碼:
function Tween()
{
this._frame=20;
//
this._animType = linear;
this._delay = 0;
//
this.run = function(){}
this.complete = function(){}
}
//
Tween.prototype.getValue = function(prop)
{
this._valueType = ”;
if(prop.constructor == Array) return prop;
//
if(typeof(prop) == 'string')
{
if(isColor(prop))
{
this._valueType = ‘color';
return c2a(prop);
}
if(prop.split('px').length>1)
{
this._valueType = ‘px';
return [prop.split('px')[0]];
}
}
return [prop];
}
Tween.prototype.setValue = function(prop)
{
if(this._valueType == ‘color')return a2c(prop);
if(this._valueType == ‘px')return prop[0]+'px';
return prop;
}
Tween.prototype.start = function(startProps, endProps, timeSeconds, animType, delay)
{
if(animType != undefined)this._animType = this.animTypes[animType];
if(delay != undefined)this._delay = delay;
//
this._timeSeconds = timeSeconds;
this._startTimer = new Date().getTime() + this._delay * 1000;
//
this._endProps = this.getValue(endProps);
this._startProps = this.getValue(startProps);
this._currentProps = [];
//
var $this = this;
clearInterval(this._runID);
this._runID = setInterval(
function(){$this._run();}
,this._frame);
}
Tween.prototype.stop = function(state)
{
for(var i in this._startProps)
{
if(Number(state)>0)
this._currentProps[i] = this._endProps[i];
else if(Number(state)<0)
this._currentProps[i] = this._startProps[i];
}
this.callListener();
this.complete();
//
clearInterval(this._runID);
}
Tween.prototype.callListener = function()
{
this.run(this.setValue(this._currentProps));
}
Tween.prototype._run = function()
{
if ( new Date().getTime()- this._startTimer< 0) return;
var isEnd = false;
//
for(var i in this._startProps)
{
this._currentProps[i] = this._animType( new Date().getTime()-this._startTimer,Number(this._startProps[i]),Number(this._endProps[i])-Number(this._startProps[i]),this._timeSeconds * 1000);
//
if(this._startTimer + (this._timeSeconds * 1000) <= new Date().getTime())
{
this._currentProps[i] = this._endProps[i];
isEnd = true;
}
}
//
if(isEnd)this.stop();
else this.callListener();
}

相關(guān)文章

  • JavaScript 產(chǎn)生不重復(fù)的隨機數(shù)三種實現(xiàn)思路

    JavaScript 產(chǎn)生不重復(fù)的隨機數(shù)三種實現(xiàn)思路

    在 JavaScript 中,一般產(chǎn)生的隨機數(shù)會重復(fù),但是有時我們需要不重復(fù)的隨機數(shù),如何實現(xiàn)?本文給于解決方法,需要的朋友可以參考下
    2012-12-12
  • Javascript中引用類型傳遞的知識點小結(jié)

    Javascript中引用類型傳遞的知識點小結(jié)

    這篇文章主要給大家介紹了關(guān)于Javascript中引用類型傳遞的知識點,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • javascript版2048小游戲

    javascript版2048小游戲

    本文給大家分享的是使用javascript制作的2048小游戲的代碼,僅僅是想鍛煉下自己的編程代碼風(fēng)格,盡量做的規(guī)范些,小伙伴們多多給些建議。
    2015-03-03
  • 瀏覽器解析js生成的html出現(xiàn)樣式問題的解決方法

    瀏覽器解析js生成的html出現(xiàn)樣式問題的解決方法

    接觸css, javascript有三年多了,今天遇到的問題最令我不可思議,很容易給人一種錯覺,那就是js拼成的html結(jié)構(gòu)肯定有問題
    2012-04-04
  • Javascript Worker子線程代碼實例

    Javascript Worker子線程代碼實例

    這篇文章主要介紹了Javascript Worker子線程代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • JS獲取隨機數(shù)和時間轉(zhuǎn)換的簡單實例

    JS獲取隨機數(shù)和時間轉(zhuǎn)換的簡單實例

    下面小編就為大家?guī)硪黄狫S獲取隨機數(shù)和時間轉(zhuǎn)換的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • uniapp在微信小程序中圖片寬度顯示問題示例代碼

    uniapp在微信小程序中圖片寬度顯示問題示例代碼

    在uniapp中,如果你的富文本圖片顯示寬度不正常,你可以通過設(shè)置圖片的寬高屬性來解決這個問題,這篇文章主要介紹了uniapp在微信小程序中圖片寬度顯示問題,需要的朋友可以參考下
    2023-02-02
  • 原生js的ajax和解決跨域的jsonp(實例講解)

    原生js的ajax和解決跨域的jsonp(實例講解)

    下面小編就為大家?guī)硪黄鷍s的ajax和解決跨域的jsonp(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 與ClientWidth有關(guān)的一點資料

    與ClientWidth有關(guān)的一點資料

    與ClientWidth有關(guān)的一點資料...
    2006-08-08
  • 原生js實現(xiàn)碰撞檢測

    原生js實現(xiàn)碰撞檢測

    這篇文章主要為大家詳細(xì)介紹了原生js實現(xiàn)碰撞檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評論