【问题标题】:jquery animation donejQuery动画完成
【发布时间】:2010-12-18 14:46:14
【问题描述】:

好的,所以我有一个可滚动的选项卡类,它工作正常,但现在我想隐藏控件,如果它们不能在他们试图去的方向滚动。所以我有这样的东西;

function tab_left(){
  $(".tab_link").each(function(){
    //animation here
  });
}

然后我想创建一个函数来确保它们都没有动画(因为如果它们在那里,位置将不正确)。然后它将修复图像以显示或不显示。我遇到的问题是检查它们中没有一个是动画的。任何帮助表示赞赏。

【问题讨论】:

    标签: jquery tabs jquery-animate each


    【解决方案1】:

    要检查元素是否正在动画,您可以这样做:

    if( $("#the-great-div").is(":animated") ){
      alert("Yay!");
    }
    

    或者,如果您愿意,您可以设置动画完成时调用的回调:http://docs.jquery.com/Effects/animate

    var finished = 0;
    var callback = function (){
      // Do whatever you want.
      finished++;
    }
    $("#div").animate(params, duration, null, callback);
    

    该回调参数通常在所有动画函数中都可用,而不仅仅是动画。最后,如果您想跟踪已完成的项目数量,则应该使用全局变量(如本例中的 finished)。

    【讨论】:

    • 我知道如何检查一个元素是否动画但如果它动画我希望它继续检查直到元素没有动画来运行检查其位置的函数,或者只是在之后运行函数动画完成将是一个更好的解决方案。
    猜你喜欢
    • 2012-12-29
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 2014-05-02
    相关资源
    最近更新 更多