j查询多个回调到一个回调计数调用
jQuery multiple callbacks to one callback counting calls
我只需要多个回调中的一个回调。通过一个简单的"类"多回调来计算调用,它似乎已经解决了。但是 jQuery 的 fadeIn 函数只调用一次 mCallback。
它必须调用 mCallback 3 次。这是通过在顶部范围内直接使用回调函数来实现的。
在我自己的函数上也测试了我的 MultiCallback 类,没有任何问题。我知道还有其他方法,例如使用 jQuery 隐藏多个元素并获得一个回调......只是想知道我的逻辑有什么问题。
<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);
-
将 multiCallback.mCallback() 替换为 multiCallback.mCallback
-
将代码放在
$(function(){ ... });
中,因为 DOM 元素此时可能不可用。
修复了 JSFiddle 上的代码
相关文章:
- 如何将一个JavaScript函数回调为多个函数
- 在另一个Find(..)的回调内部查找,如何逃离回调地狱
- 使用reactjs setState回调获取上一个输入值的计算值
- 正在读取<p: 选择一个菜单/>在onchange回调中
- Javascript使用本地存储,回调对象并用Json更改为一个字符串以用于填充函数
- 与 promise 一起使用时,异步瀑布不执行下一个回调方法
- 如何使用另一个 JavaScript 文件中定义的类名调用回调函数
- Angular,设置一个回调函数,用于在工厂和控制器之间更新
- 如何运行一个调用某个函数的函数首先完成它,然后再调用下一个函数.正在创建回调函数
- 使用 CoffeeScript 的类和 jquery.transit 创建一个回调循环
- 如何通过一个回调异步排队和执行多个promise
- 如何在另一个函数的回调中调用JavaScript函数
- 自定义Cordova插件,释放一个保持回调而不调用它
- NodeJS将一个额外的参数传递给回调
- 编写一个使用传递两个参数的回调的承诺
- 带有一个回调的多个循环ajax请求
- 在另一个getJSON调用的回调中,没有为getJSON调用触发回调
- 仅在堆栈中的最后一个执行回调
- 我试图使用jquery或javascript回调一个简单的动画
- 我能给MVC Ajax回调一个参数吗?