创建人工回调函数以在 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你可以在动画完成后使用他的回调处理程序做任何事情 @VAShhhslideUp
和 slideDown
在内部使用 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 的回调?的主要内容,如果未能解决你的问题,请参考以下文章