var xTcount = 3;
jQuery.fn.repeatFx = function(fn, times) {
for(var i = 0; i < times; i++) fn();
}
$("#Art_C_M li").live('click', function() {
var $this = $(this);
var target = $this.hasClass('Double_It') ? 'doubler'
: $this.hasClass('Float_R') ? 'floatR'
: null;
if (xTcount > 1) {repeatFx(target, xTcount);}
});
Я пытаюсь создать функцию, которая зацикливает другую функцию. В зависимости от того, какая функция циклически меняется, мне нужна общая функция зацикливания функций. Я получил помощь через этот вопрос: Итерация скрипта X раз Я не хотел добавлять его, так как он сейчас старый, и я не уверен, рекомендуется ли это.
xTcount изменяется, основываясь на другом скрипте (пользователь щелкает серию div, которые содержат числа, значение разбирается в int и сохраняется, но для простоты я оставлю это как 3 в этом вопросе.)
doubler и floatR - имена функций. Я надеялся использовать решение для случая, чтобы получить имена функций и передать их функции цикла.
У меня есть предложение if, чтобы пользователям не всегда приходилось нажимать «1», чтобы эффект был. Таким образом, этот цикл выполняется только в том случае, если он больше 1, и только один раз в другом случае (что рассматривается в базовых функциях.)
EDIT
Модифицированный код для демонстрации более явного потока.
$(".Double_It").live('click', function() {
repeatFx(drawCard, xTcount);
});
Похоже, что моя функция не вызывается. Я добавил append (текст) к своей функции дублирования, если я вызываю функцию напрямую, она работает, и я получаю добавленный текст в качестве сигнала, что она сработала. Но через эту функцию цикла текст никогда не появляется. Поэтому я делаю вывод, что функция не вызывается.