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();

ETC..

如果我可以传递我拥有的星星数量并生成函数,那就太好了

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);

您可以id作为整数传入并将其连接起来,'.star-position'因为 JavaScript 不关心变量类型(大多数情况下)。

于 2012-11-21T13:18:11.157 回答