2013-09-26 32 views
5

Gdy jeden element się wsuwa, potrzebuję wysunięcia drugiego elementu. W tej chwili ustawiłem go na fadeOut. Jest to kod mam tak daleko:Tak jak element animuje się, animuj kolejne.

$('#contact').click(function() { 
    $('#contact-info').animate({ 
     width: 'toggle' 
    }); 
    $('#work-menu').fadeOut('100'); 
}); 
$('#menu').click(function() { 
    $('#work-menu').animate({ 
     width: 'toggle' 
    }); 
    $('#contact-info').fadeOut('100'); 
}); 

DEMO

Jak mogę zmienić ten kod, aby przeciwległe elementy wsunąć z powrotem jako drugi przesuwa się w polu widzenia?

Odpowiedz

1

użycie 'hide'

$('#contact').click(function() { 
    $('#contact-info').animate({ 
     width: 'toggle' 
    }); 
    $('#work-menu').animate({ 
     width: 'hide' 
    }); 
}); 
$('#menu').click(function() { 
    $('#work-menu').animate({ 
     width: 'toggle' 
    }); 
    $('#contact-info').animate({ 
     width: 'hide' 
    }); 
}); 

DEMO

+0

Dzięki za pomoc x – angela

1

Poprzez sprawdzenie, czy jego :visible można zrobić w ten sposób:

$('#contact').click(function() { 
    $('#contact-info').animate({ 
     width: 'toggle' 
    }); 
    if ($("#work-menu").is(":visible")) 
     $('#work-menu').animate({ 
      width: 'toggle' 
     }); 
}); 
$('#menu').click(function() { 
    $('#work-menu').animate({ 
     width: 'toggle' 
    }); 
    if ($("#contact-info").is(":visible")) 
     $('#contact-info').animate({ 
      width: 'toggle' 
     }); 
}); 

Demo Fiddle