比如我加了一个这样的方法
$.extend($.fn,{
    action: function(){
        $("#a").fadeIn(function(){
            $("#b").fadeIn();
        });
    }
})我现在调用它
$().action();
那么就会出现先a淡出,然后b淡出
但我如果这样写
$().action();
alert("ok");
那肯定是先弹出OK然后再a淡出,然后b淡出我现在想让它在b淡出之后再弹出OK应该怎么写呢,
即是给action 添加一个回调函数
能直接这么写  $().action(function(){alert("ok");});应该不麻烦。。但我查N久资料都没找到,在线等高手解答。

解决方案 »

  1.   


    <div id="a" style="display:none">aaaaaaa</div>
    <div id="b" style="display:none">bbbbbbb</div><script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script>
    $.extend($.fn,{
      action:function(f){
        $("#a").fadeIn(function(){
          $("#b").fadeIn(f);
        });
      }
    })
    $().action(function(){alert("ok")});</script>
      

  2.   


    是这样的
    $.extend($.fn,{
      action: function(){
      $("#a").fadeIn(function(){
          $("#b").fadeIn(function(){
               //它淡出完自己还有动作要做
               alert("淡出OK");
               //然后再运行回调函数应该怎么写
          });
      });
      }
    })
      

  3.   

    解决了。谢谢哈。。
    原来是这样啊$.extend($.fn,{
      action:function(f){
        $("#a").fadeIn(function(){
          $("#b").fadeIn(function(){
           alert("....");
           f();
           });
        });
      }
    })
    $().action(function(){alert("ok")});
    原来可以这么写。谢谢了