var allPanels = $('.menu > .page').hide();
is setting the container that holds your bxSlider to display: none. Because of this, the image dimensions in the slider are set to width and height: 0. bxSlider is loading correctly, but it's reading the image dimensions in their hidden state, and setting the height of the slider to 0.
To get around this, you could wait until bxSlider has finished loading before you hide your accordion content:
var allPanels = $('.menu > .page');
$('.bxslider').bxSlider({
captions: true,
auto:true,
autoStart:true,
autoControls:true,
mode:'fade',
minSlides: 1,
maxSlides: 2,
adaptiveHeight: true,
slideWidth: 700,
onSliderLoad: function() {
allPanels.hide();
}
});
$('.title > h3').click(function() {
allPanels.slideUp("1000");
if($(this).parent().next().is(':hidden')) {
$(this).parent().next().fadeIn("500");
}
return false;
});