一个函数JQuery的速度不同

时间:2015-11-06 09:54:24

标签: javascript jquery

我编写了一个动画对象的函数,但是后来我决定添加一些其他对象,这些对象应使用相同的参数但不同的速度进行动画处理。我不想复制粘贴书面函数但不知道如何以不同的速度调用它。你能帮我这么做吗?

var moveObjects = function() {
    setInterval(function() {
        $("#object1").animate({
            left: -110 + "%"
        }, 15000, "linear", function() {
            $(this).addClass('flip');
        });
        $("#object1").animate({
            left: 110 + "%"
        }, 15000, "linear", function() {
            $(this).removeClass('flip');
        });
    }, 1000);
};

$(document).ready(function() {
    moveObjects();
});

2 个答案:

答案 0 :(得分:2)

用函数的参数替换硬编码值:

var moveObjects = function(animSpeed, delay) {
    setInterval(function() {
        $("#object1").animate({
            left: -110 + "%"
        }, animSpeed, "linear", function() {
            $(this).addClass('flip');
        });
        $("#object1").animate({
            left: 110 + "%"
        }, animSpeed, "linear", function() {
            $(this).removeClass('flip');
        });
    }, delay);
};

$(document).ready(function() {
    moveObjects(15000, 1000);
});

答案 1 :(得分:2)

尝试以下方法:

var moveObjects = function(intervalTime) {
    setInterval(function() {
        $("#object1").animate({
            left: -110 + "%"
        }, 15000, "linear", function() {
            $(this).addClass('flip');
        });
        $("#object1").animate({
            left: 110 + "%"
        }, 15000, "linear", function() {
            $(this).removeClass('flip');
        });
    }, intervalTime);
};

$(document).ready(function() {
    moveObjects(); //<--Place the speed here that you want for each.
});
相关问题