【问题标题】:Why isn't the callback I pass to jQuery's animate() method called?为什么没有调用我传递给 jQuery 的 animate() 方法的回调?
【发布时间】:2009-10-02 20:22:02
【问题描述】:

动画结束后我无法调用回调。这是我的动画功能:

function animate( parentElement, callback )
{
        parentElement.animate({
            "height" : "hide", "opacity" : 0.0
        }, { duration : "slow"}, "linear", callback);
}

这里是这样称呼它的:

 animate( $(this).parent(), function() { alert('test'); } );

没有显示警报,为什么?

【问题讨论】:

  • 为什么要传入{ duration : "slow"}作为第二个参数?应该只是一个字符串,例如"slow",或以毫秒为单位表示精确持续时间的数字。
  • 我不在乎 =)

标签: jquery callback jquery-animate


【解决方案1】:

这是你的问题:

    parentElement.animate({
        "height" : "hide", "opacity" : 0.0
    }, { duration : "slow"}, "linear", callback);

第二个参数? It's supposed to be either a string or a number。当你传入一个对象时,jQuery 不知道如何处理它。切换到这个:

    parentElement.animate({
        "height" : "hide", "opacity" : 0.0
    }, "slow", "linear", callback);

...它会工作得很好。

【讨论】:

  • 继续。我只是想通了,然后来发帖……该死的你更聪明更快=P
  • 嗯...这确实是我的问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 2012-05-05
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多