Neo
Neo

Reputation: 407

How to get onClick function with false animate queues to also run an outside function?

http://jsfiddle.net/neowot/xgJns/184/

Hi! I am wondering how to get the "resize" function to run when the onClick code is clicked, in a specific part of the code that I've marked with the comment "Here". My attempt was:

$('#Div5').animate({
    marginLeft: isOut ? '120px' : '0px'
}, { duration: 200, queue: false }, resize); 

but for some reason that isn't working. I'm not sure if my website in particular is just messed up.

Thank you.

Upvotes: 1

Views: 65

Answers (1)

Parkash Kumar
Parkash Kumar

Reputation: 4730

Here is the updated click function, add third parameter function(){} to animate and call resize() wrapped in it:

 $('#Div1').click(function() {
    if ( $('#Div2').is(":visible") ) {
        $('#Div2').hide(0);
    }

    $('#Div5').toggleClass('isSize');
    var isSize = $('#Div5').hasClass('isSize');
    $('#Div5').animate({
        width: isSize ? '408' : '204px'
    }, { duration: 200, queue: false }, function(){
        resize();
    });

    $('#Div5').toggleClass('isOut');
    var isOut = $('#Div5').hasClass('isOut');
    $('#Div5').animate({
        marginLeft: isOut ? '120px' : '0px'
    }, { duration: 200, queue: false }, function(){
        resize();
    });     

    $('#Div3').fadeToggle(500);
    $('#Div4').fadeToggle(500);
});

DEMO

Upvotes: 1

Related Questions