我写了一个回调(我相信它被称为):
hugeFadeIn();
这是一个简单的代码,可以淡入一些内容,这样我就不会一遍又一遍地重复使用相同的代码。
然后我想在hugeFadeIn
完成后执行一些代码……所以我这样做了:
hugeFadeIn(){ //la la la });
那是错的,所以我这样做了:
$(hugeFadeIn(){ //la la la });
我仍然会遇到错误。 我究竟做错了什么? 感谢大家 :)
根据要求编辑 hugeFadeIn
函数的主体:
function hugeFadeIn() { $("#huge-loader").fadeIn("fast"); }
如果你想在hugeFadeIn
完成后运行一些东西,你需要传递你的回调。
function hugeFadeIn(after) { // whatever after(); }
(如果hugeFadeIn
自身褪色并且不依赖于调用本身需要回调的东西。)
OP编辑后编辑。
function hugeFadeIn(after) { $("#huge-loader").fadeIn("fast", after); }
关…
hugeFadeIn(function() { alert('My callback is running'); });
然后在hugeFadeIn()中
hugeFadeIn = function( fn ) { fn(); }
如果你需要用同一个元素做一些事情,只需在第一个方法之后调用第二个方法
hugeFadeIn(); someOtherMethodCall();
如果你需要处理页面上的其他元素,你需要在第一个方法完成后强制调用第二个方法 – 使用延迟方法(https://api.jquery.com/delay/)
hugeFadeIn(); someOtherMethodCall(); someOtherMethodCall(time){ $('#some-id').delay(time).hide(); }
function hugeFadeIn(time, callback) { $('.something').fadeIn(time, callback); }
那么
hugeFadeIn(500, doAjaxWhathever);
或类似的东西用于异步
$.HugeFade = function(item, time, callback) { $(item).fadeIn(time); callback();} $.HugeFade('#myDiv', 1500, myCallback);
但如果您使用hugeFadeIn作为回调,则无法执行此操作
$('#myDiv').load(url, hugeFadeIn(500, callback2)); //wrong // it should be.. $('#myDiv').load(url, function(){hugeFadeIn(500, callback2)});
当我写一个函数时,我通常会为回调设置一个参数:
function myFunction(param1, callback_param){ alert(param1); // do stuff here if(typeof(callback_param) == "function"){ callback_param(); } }
这就是我怎么称呼它。
myFunction('Hello World', function(){ alert('Yes!, this is the World, how can i help you?'); });
希望这有所贡献。 谢谢
以上就是jQuery教程分享回调中的回调?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/562064.html