jQuery: Как я могу использовать аргумент функции в качестве имени функции внутри моей функции? - PullRequest
1 голос
/ 10 марта 2011

Я сталкивался с этой проблемой несколько раз раньше, поэтому на этот раз я решил, что просто получу совет от тех, кто знает лучше.

Я в основном хочу использовать function( argument ) в качестве имени функции внутри этой функции.

Вот код, который я пытался использовать:

$.fn.moveTo = function( myAction ) {

    $(this).myAction().fadeIn(400);

};
$('.currentElement').moveTo( 'next' ); // should become: $(this).next().fadeIn(400);
$('.currentElement').moveTo( 'prev' ); // should become: $(this).prev().fadeIn(400);

Любые идеи о том, как я могу заставить это работать?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 10 марта 2011

Попробуйте

$(this)[myAction]().fade(400)
1 голос
/ 10 марта 2011

Попробуйте

$(this)[myAction].apply($(this), []).fadeIn(400);
1 голос
/ 10 марта 2011

Использовать нижнюю запись:

$(this)[myAction]().fadeIn(400);
...