创建人工回调函数以在 Jquery 中启用对 .addclass 和 .css 的回调?

Posted

技术标签:

【中文标题】创建人工回调函数以在 Jquery 中启用对 .addclass 和 .css 的回调?【英文标题】:Create an Artificial Callback function to enable Callbacks to .addclass and .css in Jquery? 【发布时间】:2011-09-13 19:15:18 【问题描述】:

我在 Jquery 中使用了 slideUp/Down 函数来为我的页面上的 div 设置动画,但它在 iPhone 上运行不佳,所以我决定编写一个等效的 Webkit 来解决性能问题,但是你不能对jQuery .css 或 .addclass。

我有这个功能:

$('#collapse').css('height','0');

但我需要伪造一个回调,以使这项工作有效:

$('#collapse').css('height','0', function() 
//do something after
);

有人知道怎么做吗?

Webkit 动画设置为 1 秒。

【问题讨论】:

为什么不使用 .animate() 函数? api.jquery.com/animate你可以在动画完成后使用他的回调处理程序做任何事情 @VAShhh slideUpslideDown 在内部使用 animate,所以我认为没有理由认为它们不会有同样的性能问题。 【参考方案1】:

只需使用setTimeout; jQuery 无法判断内置浏览器动画是否完成:

$('#collapse').css('height', 0);
setTimeout(function() 
    // code will happen after the timeout has completed
, 1000); // 1 second

这样做的缺点是你必须在两个地方设置动画的时间。

【讨论】:

另一种可能:syropia.net/journal/css3-transition-callbacks-in-jquery @RenanFranca 四年有多么不同!将其添加为答案,我会投票赞成...【参考方案2】:

另一种可能是 syropia.net/journal/css3-transition-callbacks-in-jquery

=D

【讨论】:

以上是关于创建人工回调函数以在 Jquery 中启用对 .addclass 和 .css 的回调?的主要内容,如果未能解决你的问题,请参考以下文章

Jquery 创建插件 - 如何在动画回调方法中获取对我的对象的 $(this) 引用?

ajax省市联动 回发或回调参数无效 启用了事件验证。

Jquery - 追加后执行回调

js回调函数(callback)理解

回调函数——callback

回调函数