如何使用静态变量数组?

时间:2012-04-07 16:35:29

标签: javascript

这有点尴尬,但我需要一组静态变量。每次调用函数时,我都需要访问这些变量。基本上我有一个效果函数,由一个当前称为elapsed_time的变量“控制”。

但是,我需要为传递给函数的每个元素使用elapsed_time,这样我就可以确保不对相同的元素运行效果...(对于我的淡入淡出函数,这会导致闪烁效果)。

我想使用element.id命名我的变量。

我刚看了一篇文章说关联数组不是真正的关联数组,你不应该使用它们here.

以下是我需要更新的当前功能。

/**
 *    Effects
 */

var Effects = function( element ) 
{
    this.element = element;
};

Effects.prototype.fade = function( direction, max_time ) 
{
    Effects.elapsed = 0;
/*
    Effects.arrayHold = [];
    Effects.arrayHold.push( this.element.id );
*/
    var persist_element = this.element;
    function next() 
    {
        Effects.elapsed += 10;
        if ( direction === 'up' )
        {
            persist_element.style.opacity = Effects.elapsed / max_time;
        }
        else if ( direction === 'down' )
        {
            persist_element.style.opacity = ( max_time - Effects.elapsed ) / max_time;
        }
        if ( Effects.elapsed <= max_time ) 
        {
            setTimeout( next, 10 );
        }
    }
    next();
    return true;
};

1 个答案:

答案 0 :(得分:1)

只需使用Object而不是数组