gpt4 book ai didi

javascript - 使用 .fadeOut() 多次返回函数而不是一次;

转载 作者:行者123 更新时间:2023-11-28 11:36:30 25 4
gpt4 key购买 nike

我不知道是否应该这样做,但我想应该是......

我一开始以为我的整个脚本可能有问题,我设法在本地主机上创建新文件并测试 fadeOut(); 函数。

显然它又返回了两次函数,所以我去 jsfiddle 检查那里会发生什么。同样的事情也发生了。在本例中,console.log(); 返回了两次。

  • 我做了什么以及我正在尝试做什么?

好吧,我想返回指定的函数,或者在 fiddle 示例中,仅指定一次 console.log(); 。然而,我正在淡出多个元素(确切地说是两个)。

有什么方法可以做到这一点,而不是同时将每个元素复制到 fadeOut 吗?

将返回 console.log() 的示例;两次。

setTimeout(function () {

$( ".one, .two" ).fadeOut(300, function () {
console.log("Return Function!");
});

}, 2000);

将返回 console.log() 的示例;一次。

setTimeout(function () {

$( ".one" ).fadeOut(300);

$( ".two" ).fadeOut(300, function () {
console.log("Return Function!");
});

}, 2000);

fiddle 预览: Fiddle Redirect

最佳答案

集合中有两个元素,因此 fadeOut 被调用两次,所以是的,它应该这样做。

通过使用动画返回的 Promise 以及 $.when$.then,无论集合中的元素数量如何,您都可以只触发一次回调

setTimeout(function () {

$.when( $( ".one, .two" ).fadeOut(300) ).then(function () {
console.log("Return Function!");
});

}, 2000);

FIDDLE

关于javascript - 使用 .fadeOut() 多次返回函数而不是一次;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989818/

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