这有点尴尬,但我需要一组静态变量。每次调用函数时,我都需要访问这些变量。基本上我有一个效果函数,由一个当前称为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;
};
答案 0 :(得分:1)
只需使用Object而不是数组