在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);