gpt4 book ai didi

javascript - 如何用jquery延迟函数的执行?

转载 作者:行者123 更新时间:2023-11-28 13:44:49 24 4
gpt4 key购买 nike

我有这样的代码,可以将 li 元素附加到给定的 ul 上,并具有奇特的效果,然后我调用一个其行为取决于子级数的函数那个ul:

$(li).hide().appendTo("#ul-authors").show("blind");
toggleIfNeeded();

...

function toggleIfNeeded() {
if ($("#ul-authors > li").length === 1) {
doSomething();
} else {
doSomethingElse();
}
}

问题是,当调用 toggleIfNeeded 时,新的 li 似乎还不存在,因为效果尚未完全执行。如果我删除该效果,它就会正常工作。

我怎样才能做到这一点?我想我需要某种计时器,但这将是异步的(我不想阻止应用程序以获得奇特的效果),或者更好的是,一种告诉“执行效果时调用该函数”的方法。

我无法将上面的 1 更改为 0,因为可以在不涉及任何效果的其他上下文中调用该代码。

最佳答案

您可以将回调传递给.show()。如果你改变

$(li).hide().appendTo("#ul-authors").show("blind");
toggleIfNeeded();

$(li).hide().appendTo("#ul-authors").show("blind", toggleIfNeeded);

那么当动画完成时,你的函数将被自动调用。

关于javascript - 如何用jquery延迟函数的执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15159146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com