jQuery技术:回调中的回调?

我写了一个回调(我相信它被称为):

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

      (0)
      上一篇 2021年2月5日
      下一篇 2021年2月5日

      精彩推荐