Точно не скажу, так как не вижу html кода.
Смотрите:
<script type="text/javascript">
$(document).ready(function() {
var accordion_head = $('.accordion > li > a'), //Вы выбрали все <a>
accordion_body = $('.accordion li > .sub-menu');
accordion_head.first().addClass('active').next().slideDown('normal');/*а вот тут и трабл, .first() выбирает всегда 1 элемент, видимо это главная страничка, где все нормально работает, а когда переходим на другую актив присваевается главной (так как это 1й элемент)*/
accordion_head.on('click', function(event) {
event.preventDefault();
if ($(this).attr('class') != 'active'){/*а вот и пролетели с анимацией! актив присвоен главной а мы тут нужный элемент юзаем*/
accordion_body.slideUp('normal');
$(this).next().stop(true,true).slideToggle('normal');
accordion_head.removeClass('active');
$(this).addClass('active');
}
});
});
</script>
Попробуйте вместо .first использовать .closest(this) получает все ближайшие элементы с указанным селектором.
Не обещаю что заработает ибо вслепую немогу