2015-01-26 3 views
0

Я не могу понять, как открыть мою первую панель аккордеона, чтобы открыться автоматически. Проблема в том, что я не могу установить ее на активную, так как она отображает данные с PHP из базы данных, поэтому, если я устанавливаю div на «активную панель», он применяет его ко всем панелям. Любая помощь будет замечательной! Просто, чтобы уточнить, я просто пытаюсь открыть первый, чтобы открыть его автоматически. Код:Открыта первая панель аккордеона

$('.panel-holder').click(function() { 
     $(this).closest('.accordion').find('.panel-holder').removeClass('active-panel'); 
     $(this).addClass('active-panel'); 

PHP

echo "<div class='panel-holder'> 

    <div class='panel-title'>". $results['job_title'] ." 
     <i class='icon arrow_carrot-down'></i> 
    </div> 

    <div class='panel-content'> 
     <p class='lead'>". $results['job_summary'] ."</p> 
     <p>". $results['job_description'] ."</p> 
    </div> 

    </div><!--end of individual accordian panel-->"; 

ответ

1

Просто добавьте класс "активной панели" к первому элементу в PHP только. Сгенерированы ли они в цикле? Просто создайте переменную счетчика, которая увеличивается при каждом запуске цикла. Если этот счетчик == 1 (или 0, если вы хотите начать с 0;), добавьте класс css в свою разметку.

+0

Благодаря @Markus Мюллер! К сожалению, мои навыки PHP недостаточно хороши для управления этим. Я как бы надеялся, что будет какое-то простое решение 'panel-holder: first' css. Ха-ха – verrucktfuchs

+0

Ну, это тоже может сработать. Добавьте обертку вокруг держателей панели. Первый должен быть доступен #wrapper div.panel-holder: firstchild Но мой PHP намного лучше моего CSS ;-) –

+0

Спасибо! Я отдам это. Желаю, чтобы мой PHP был лучше моего CSS. К сожалению, они примерно такие же, и это не говорит о многом;) Cheers – verrucktfuchs

0

Завершилось создание следующее решение:

$('.panel-holder').each(function() { 
     $(this).closest('.accordion').find('.panel-holder:first').addClass('active-panel'); 

    }); 
Смежные вопросы