jquery函数即时

时间:2012-11-21 13:15:54

标签: javascript jquery

是否有更快的方法:

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

等。

如果我可以传递一个数字我拥有的星数并且它会生成函数

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

您可以通过将数字作为参数传递给单个函数来重构函数:

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

star(1);
star(2);

答案 2 :(得分:1)

当然,你可以这样做:

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

然后致电:

star(1);
star(2);

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