2012-07-08 7 views
0
var animations = { 
    slide : {enter:'slideDown('+settings.speed+')', exit:'slideUp('+settings.speed+')'}, 
    fade : {enter:'fadeIn('+settings.speed+')', exit:'fadeOut('+settings.speed+')'} 
}; 

현재 정의 된 애니메이션은 입출력 개체가 있습니다. 어떻게 동적으로 호출 할 수 있을까요?개체에서 jquery에서 함수를 동적으로 호출하십시오.

기본적으로 가능한 한 코드를 작게 유지하면서 함수를 동적으로 호출하는 방법을 찾으려고합니다.

+0

확인이 답변 메이트, 그것은 당신에게 도움이 될 것입니다 http://stackoverflow.com/ 질문/11338967/jquery-issue-on-extended-jquery 기능/11339046 # 11339046 –

+2

확실히 할 수있는 방법이 있습니다. 그러나 최선의 답변을 얻으려면 어떻게하면 좋을지 보여줄 수 있습니다. "최선의 경우는 상상할 수있는"시나리오입니다. 정확한 해결책은 그것에 달려 있습니다. – Jon

+0

플러그인의 대부분은 동적이기 때문에''animation.enter''와''animation.exit''의 줄을 따라 뭔가가 충분하다고 생각합니다. –

답변

0

당신이 구문을 사용할 수 있습니다 $(obj)[action](htmlStr);

바이올린 : http://jsfiddle.net/svvdw/

var settings = { 
    speed: 'slow' 
}; 

var animations = { 
    slide : {enter:'slideDown', exit:'slideUp'}, 
    fade : {enter:'fadeIn', exit:'fadeOut'} 
}; 

$("#test")[animations.fade.exit](settings.speed); 

관련 문제