Based on your initial code you can do this:

        function loading(foo) {
                $("#ajaxContent").slideToggle("normal", function() {
                        $("#ajaxLoader").toggle();
                        if ($.isFunction(foo)) {
                            foo.call();
                        }
                });
        }

        $("#searchBar > button").click(function() {
                loading(function() {
                    $.get("ajax/list.php", function(data){
                            $("#ajaxContent").html(data);
                            loading();
                    });
                });
        });

On Jan 8, 9:00 pm, rics <[EMAIL PROTECTED]> wrote:
> I did it using ajaxStart() and ajaxStop(), but I still want to know if
> I can set a callback to a custom function, for learning reasons. If
> you can help, thanks.
>
> :D
>
> Here is the final code...
>
>         $("#ajaxContent").ajaxStart(function(){
>                 $(this).slideToggle("normal");
>                 $("#ajaxLoader").toggle();
>         });
>
>         $("#ajaxContent").ajaxStop(function(){
>                 $(this).slideToggle("normal", function(){
>                         $("#ajaxLoader").toggle();
>                 });
>         });
>
>         $("#searchBar > button").click(function() {
>                 $.get("ajax/list.php", function(data){
>                         $("#ajaxContent").html(data);
>                 });
>         });
>
> On Jan 8, 1:38 pm, rics <[EMAIL PROTECTED]> wrote:
>
> > Hello people,
>
> > How can I force some code to run only when the execution of other
> > function finish? Look my code:
>
> >         function loading() {
> >                 $("#ajaxContent").slideToggle("normal", function() {
> >                         $("#ajaxLoader").toggle();
> >                 });
> >         }
>
> >         $("#searchBar > button").click(function() {
> >                 loading();
> >                 $.get("ajax/list.php", function(data){
> >                         $("#ajaxContent").html(data);
> >                         loading();
> >                 });
> >         });
>
> > In the second block of code I want the $.get to execute only when the
> > function loading(), that was coded by me, finish to execute. I mean,
> > when the #ajaxLoader is show up.
>
> > How can I do something like that?

Reply via email to