3

これを行うより速い方法はありますか:

function star1() {  myFunction();jQuery('.star-position1').animate({"opacity":opacity},timeIn,function() { star1(); }); }
function star2() {  myFunction();jQuery('.star-position2').animate({"opacity":opacity},timeIn,function() { star2(); }); }

等々..

次に、これらの関数を次のように初期化します

star1();
star2();

等..

私が持っている星の数を渡すことができ、それが関数を生成できれば素晴らしい

4

3 に答える 3

2
function star(num){
  myFunction();
  jQuery('.star-position' + num).animate({"opacity":opacity},timeIn,function() { 
    star(num); 
  });
}
于 2012-11-21T13:18:17.397 に答える
1

単一の関数に引数として数値を渡すことで、関数をリファクタリングできます。

function star(n) {
    myFunction();
    $('.star-position' + n).animate({
        opacity: opacity
    }, timeIn, function() {
        star(n);
    });
}

star(1);
star(2);
于 2012-11-21T13:18:10.487 に答える
1

もちろん、これを行うことができます:

function star(id) { 
    myFunction();
    jQuery('.star-position'+id).animate(
        {"opacity":opacity},
        timeIn,
        function() { 
            star(id); 
        });
}

そして、次のように呼び出します。

star(1);
star(2);

JavaScript は (ほとんどの場合) 変数の型を気にしないためid、整数として渡して連結することができます。'.star-position'

于 2012-11-21T13:18:11.157 に答える