在jquery中完成/完成另一个动画时启动动画
这对我不起作用:在jquery中完成/完成另一个动画时启动动画,jquery,animation,callback,Jquery,Animation,Callback,这对我不起作用: $(".button").click(function(){ $("#start").animate({ "opacity": ".3" }, "slow", function(){ $("#start").animate({"height": "0"}, "fast"); }); }); 我想要一个div来设置动画,当它完成后,再次设置动画 不管我在谷歌上搜索什么。。。在所有的博客和论坛上,它都说这应该是唯一的方法。
$(".button").click(function(){
$("#start").animate({
"opacity": ".3"
}, "slow", function(){
$("#start").animate({"height": "0"}, "fast");
});
});
我想要一个div
来设置动画,当它完成后,再次设置动画
不管我在谷歌上搜索什么。。。在所有的博客和论坛上,它都说这应该是唯一的方法。看起来我们需要查看您的html。对我来说很好:
对于无休止的动画循环,可以使用以下方法:
function animate() {
$("#start").animate({opacity: .3}, "slow",
function () {
$("#start").animate({height: 0}, "fast", animate);
}
);
}
$(".button").click(animate);
可能您正在寻找函数。无论如何,您的代码工作正常:
代码:那么你在谷歌上找到的东西有什么不对劲呢?那么问题到底是什么呢?实际上,由于两个动画都运行在同一个元素上(
#start
),所以在同一个动画队列中,不需要在第一个动画的oncomplete回调函数中启动第二个动画。简单地说:$(“#start”).animate(…).animate(…)
也会做同样的事情。你可以在开始第二个动画之前添加一个暂停,而不是将其粘贴在回调中,但老实说,我在这里使用@Sparky672。。。编辑:或者按照Yoshi说的去做;那更好。:)询问HTML并告诉他他的代码正在工作并不能解决任何问题。他的jQuery确实有效。他很有可能正在反向使用ID或类。我还为他准备了一把小提琴,让他查看故障排除。是的,也许会有帮助。但这仍然不能回答他的问题。答案部分只提供问题的答案,不是有用的评论。很抱歉,它确实有效。我很生气,因为什么都没用。但这是我自己的错。我的文件乱七八糟,现在我把它清理干净了,一切正常。谢谢Grillz向我展示了它的有效性,因为我会尝试一些可能不起作用的不同的东西。@Sparky672对不起,但我不同意。这段代码回答了他的问题:“我想要一个div动画,当它完成后,再次动画。”
#start{
height:200px;
width:200px;
margin-top:20px;
background-color:#e1e1e1;
}
.button{
padding:10px;
background-color:#369;
cursor: pointer;
width:200px;
}
function animate() {
$("#start").animate({opacity: .3}, "slow",
function () {
$("#start").animate({height: 0}, "fast", animate);
}
);
}
$(".button").click(animate);