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