此动画在页面加载后运行。完成动画后,如何让它一次又一次地重复?谢谢你的帮助!
function cloudRight(){
$(window).on('load', function () {
$( ".cloudRight" ).animate({
left: "+=1000px",
}, 30000, "swing",
function() {
$( ".cloudRight" ).animate({
left: "-=1000px",
}, 30000, "linear");
});
});
}
$(document).ready(function(){
cloudRight();
});
答案 0 :(得分:3)
您可以使用:
function cloudRight() {
$(".cloudRight").animate({
left: "+=1000px",
}, 30000, "swing",
function () {
$(this).animate({
left: "-=1000px",
}, 30000, "linear", cloudRight); // call it again on animation complete
});
}
$(cloudRight); // call on document ready
如果有多个具有类cloudRight
的元素,则应使用promise,而不是每次只调用一次:
function cloudRight() {
$(".cloudRight").animate({
left: "+=1000px",
}, 30000, "swing",
function () {
$(this).animate({
left: "-=1000px",
}, 30000, "linear");
}).promise().done(cloudRight);
}
答案 1 :(得分:1)
尝试以下代码
function cloudRight(){
$( ".cloudRight" ).animate({
left: "+=1000px",
}, 30000, "swing",
function() {
$( ".cloudRight" ).animate({
left: "-=1000px",
}, 30000, "linear",cloudRight);
});
}
$(document).ready(function(){
cloudRight();
});
答案 2 :(得分:1)
function cloudRight(){
$( ".cloudRight" ).animate({
left: "+=30px",
}, 300, "swing",
function() {
$( ".cloudRight" ).animate({
left: "-=30px",
}, 300, "linear");
cloudRight();
});
}
$(document).ready(function(){
$(window).on('load', function () {
cloudRight();
});
});