gpt4 book ai didi

javascript - jQuery 多个回调到一个回调计数调用

转载 作者:行者123 更新时间:2023-11-29 20:08:21 26 4
gpt4 key购买 nike

我只需要一个回调和多个回调。使用一个简单的“类”MultiCallback 来计算它似乎已解决的调用。但是 jQuery 的 fadeIn 函数只调用 mCallback 一次。

它必须调用 mCallback 3 次。这是通过直接在顶级范围内使用回调函数实现的。

也在我自己的函数上测试了我的 MultiCallback 类,没有任何问题。我知道还有其他方式,例如 Hide multiple elements with jQuery and get one callback ...只想知道我的逻辑有什么问题。

<div id="1" style="display: none; background-color: green;"></div>
<div id="2" style="display: none; background-color: red;"></div>
<div id="3" style="display: none; background-color: blue;"></div>

<script>

var allElements = "#1, #2, #3";
var multiCallback = new MultiCallback( $(allElements).length, function()
{
console.log("NEVER ENTER CALLBACK");
});
$(allElements).fadeIn(400, multiCallback.mCallback());

function MultiCallback(limit, fn)
{
var finishedCalls = 0;

function mCallback()
{
// Just enter one time !
if (++finishedCalls == limit)
{
fn();
}
}

return {
mCallback : mCallback
}
}

</script>

最佳答案

改变

// executes function, returns undefined, passing undefined
$(allElements).fadeIn(400, multiCallback.mCallback());

// pass a reference to the function
$(allElements).fadeIn(400, multiCallback.mCallback);

关于javascript - jQuery 多个回调到一个回调计数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11154205/

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