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);}
});
私は別の関数をループする関数を作成しようとしています。どの関数がループするかは異なりますが、私は一般的な関数ループ関数が必要です。私はこの質問を通して助けを得ました:Iterate a script X times私はそれが古いので、私はそれを追加したくなかったし、私はそれが推奨されているかわからない。リピート関数X回
xTcountは、別のスクリプトに基づいて変更されます(ユーザーは数値を含む一連のdivをクリックします。値はintに解析されて保存されますが、簡単にするため、この質問では3にします)。
doublerとfloatRは関数の名前です。私は、関数の名前を取得するためにケースソリューションを使用し、ループ関数に渡すことを望んでいた。
私はif節を持っているので、ユーザーは効果を出すために必ず「1」をクリックする必要はありません。 (基本機能での世話をされている。)が1より大きいだのであれば、この方法は、それだけでループして、一度だけelsewiseより明示的な流れを説明するために、コードを修正
EDIT
。
$(".Double_It").live('click', function() {
repeatFx(drawCard, xTcount);
});
私の機能が呼び出されていないようです。ダブリング関数にappend(text)を追加しました。関数を直接呼び出すと、関数が呼び出され、追加されたテキストがシグナルとして出力されます。しかし、このループ機能によって、テキストは決して表示されません。だから私は関数が呼び出されていないと推測します。
で、ここで同等のモックアップを参照してください。帽子が欲しい。私が知っていることは、私の機能が呼び出されていないということです。私はそれをより明示的に書き直しましたが、それでも動作しません。 OPを参照してください。 –