这有点尴尬,但我需要一个静态变量数组。每次调用函数时,我都需要访问这些变量。基本上,我有一个由当前称为 elapsed_time 的单个变量“控制”的效果函数。
但是,对于传递给函数的每个元素,我都需要一个 elapsed_time,这样我就可以确保不在同一个元素上运行效果......(对于我的淡入淡出函数,这会导致闪烁效果)。
我想用element.id
来命名我的变量。
我刚刚读到一篇文章,说关联数组并不是真正的关联数组,你不应该在这里使用它们。
以下是我需要更新的当前功能。
/**
* 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;
};