Javascript 在jquery中制作无限次动画
伙计们,我想在jquery中制作无限次动画。 我尝试了以下代码,但动画只出现了1次,但我想继续,而且我想改变每一步的图像 $(文档).ready(函数(){Javascript 在jquery中制作无限次动画,javascript,jquery,Javascript,Jquery,伙计们,我想在jquery中制作无限次动画。 我尝试了以下代码,但动画只出现了1次,但我想继续,而且我想改变每一步的图像 $(文档).ready(函数(){ 函数动画(){ $(“img”).animate({ “顶部”:“440px” }‘慢’; setTimeout(函数(){ $(“img”).animate({ “顶部”:“10px” }‘慢’; },3000); } 动画(); }); 您可以通过调用.animate()函数中的最后一个参数作为动画所在函数的名称来完成此操作 见下例:
函数动画(){
$(“img”).animate({
“顶部”:“440px”
}‘慢’;
setTimeout(函数(){
$(“img”).animate({
“顶部”:“10px”
}‘慢’;
},3000);
}
动画();
});
您可以通过调用.animate()
函数中的最后一个参数作为动画所在函数的名称来完成此操作
见下例:
函数动画(){
$(“#元素”)
.animate({//这会将div向下移动90
玛金托普:90
}, 600)
.animate({//这会将div移回顶部
玛金托普:0
},600,动画);//参数'animation'从一开始就调用此函数
}
动画()代码>
#元素{
宽度:100px;
高度:100px;
背景:红色;
}
我会使用CSS来实现这一点
.img{
动画:无限反弹;
位置:绝对位置;
}
@关键帧反弹{
0% {
顶部:10px;
}
50% {
顶部:200px;
}
100% {
顶部:10px;
}
}
可能的重复除了重复之外,我想在这里陈述一些东西-您正在进行一个递归,直接从自身调用函数animation()
。递归有点棘手,您应该非常小心如何使用它们。在您的代码中,没有任何东西可以停止递归,因此它将导致浏览器无响应,或者虚拟机将停止您的代码-无论先发生什么。在上面的行中,您可以调用setTimeout
。你为什么不在最后一行这样做呢?这是我的小提琴:但是如何在每次延迟后延迟和更改图像5个图像-@Gerard
function animation(){
$("img").animate({
'top':'440px'
},'slow');
setTimeout(function(){
$("img").animate({
'top':'10px'
},'slow');
},3000);
}
animation();
});
</script>