I managed to get the animations to run as I intended using the setTimeout function, though for some reason it doesn't seem to translate into the jsFiddle. It works fine in my browser.
$('#box').on('click', function (){
var $this = $(this);
if ($this.hasClass('peek_down')){
$this.removeClass('peek_down')
.addClass('bob_down');
} else{
$this.removeClass('bob_down')
.addClass('close_up')
.addClass('peek_down')
setTimeout(function(){
$this.removeClass('close_up')},600);
}
});