jQuery显示/隐藏后要执行的回调函数

Callback function to be executed after jQuery show / hide?

本文关键字:执行 回调 函数 显示 隐藏 jQuery      更新时间:2023-09-26

在iOS中,以下代码在hide()和scrollBy()之间有明显的闪烁:

element.hide();
window.scrollBy(0, -elementHeight);

这是因为在iOS上,在display:none和display:block之间切换是一项繁重的任务,就好像在DOM中添加和删除元素一样。

一旦hide()成功完成并更新了DOM,我需要一种方法来执行window.scrollBy()作为回调。在jQuery中有办法做到这一点吗?

要么传递持续时间和回调,要么只传递回调选项,如下所示:

element.hide(0, some_function);
// or 
element.hide({done: some_function});

默认情况下,第二个选项需要400毫秒。要立即执行,请使用以下选项之一:

element.hide(0, some_function);
// or 
element.hide({duration: 0, done: some_function});

这是一个jsFiddle演示。

有关更多详细信息,请参阅jQuery文档。

来自jQuery api:

.hide(选项)

完成类型:Function()动画完成后要调用的函数。

试试这个:

element.hide({complete:function(){windowscrollBy(0,-elementHeight);});