0
이것은 약간 어색하지만 정적 변수 배열이 필요합니다. 함수가 호출 될 때마다 이러한 변수에 액세스해야합니다. 기본적으로 나는 현재 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;
};
심각 배열의 객체를 사용하여 : //api.jquery.com/fadeOut/) jQuery에 내장 된 함수; [fadeToggle()] (http://api.jquery.com/fadeToggle/) 함수도 있습니다. 모두 duration, easing 및 callback 기능 옵션이 있습니다. 브라우저 간 기능에 대해 언급 했습니까? – faino
블로그 게시물에 관심이 있으십니까? 연관 배열을 사용하면 가장 좋은 도구 일 때 함정을 피할 수 있습니다. – stark
배열로 effect를 선언하지 마십시오. ArrayHold를 객체로 사용하고 있기 때문입니다. 그래서 더 잘 사용하십시오. Effects.objectHold = {persust_element.id : 0}; 거기에서 가져 가라. –