Показать сообщение отдельно
  #1 (permalink)  
Старый 10.01.2013, 14:29
Интересующийся
Отправить личное сообщение для vladimirlip Посмотреть профиль Найти все сообщения от vladimirlip
 
Регистрация: 18.12.2012
Сообщений: 15

Открытие аккордиона при переходе на странице
Здравствуйте!Всех с прошедшими праздниками.
Есть аккордеон на странице. Это стандартный плагин jquery.
<div class="container" > 
        	       <h2 class="acc_trigger" id="a<?=$item['seminar_id'];?>"><a href=<?=$item['seminar_id'];?>">Текст1</a></h2> 
        	       <div class="acc_container">
                         '.....
	               </div>
            </div>


Код js
$(document).ready(function(){
                
               //обрабатывает клик по меню
               $('#menu21 a').click(function(){
               var b = $(this).attr('title');
               $('.acc_container').removeClass('show');
               $('#a'+b).next().addClass('show');
                 });

               $('.acc_container').not('.show').hide();
                  
                 //On Click клик по самому аккордеону
                    $('.acc_trigger').click(function(){

                    	if( $(this).next().is(':hidden') ) { 
                         $('.acc_trigger').removeClass('active').next().slideUp();                   
                         $(this).toggleClass('active').next().slideDown(); 
                         $('.result').hide(); 
                         $('.pokazRasp.a_seminar').text('Показать расписание');
                         $('.pokazOtzv.a_seminar').text('Показать отзывы');
                    	      }
                      else {
                         $('.acc_container').slideUp();
                         $('.result').hide();
                         $('.pokazRasp.a_seminar').text('Показать расписание');    
                         $('.pokazOtzv.a_seminar').text('Показать отзывы');
                            }
                    	return false;
                    });

Аккордеон работает все хорошо. Но есть задача:
Чтобы при щелчке из меню (если находимся на главной странице) совершался переход на страницу с аккордеон и открывался соответствующий блок.
<li class="topmenu_tre tre_1"><a class="menu_a" id="menu_a_1" href="<?=base_url();?>seminars">Семинары</a>
                       <ul id="menu21">
                             <li><a href="<?=base_url();?>seminars#a1"    title="1">Текст1</a></li>
                                <li><a href="<?=base_url();?>seminars#a2" title="2">Текст1</a></li>
                                <li><a href="<?=base_url();?>seminars#a3" title="3">Текст1</a></li>
                                <li><a href="<?=base_url();?>seminars#a4" title="4">Текст1</a></li>
                                <li><a href="<?=base_url();?>seminars#a5" title="5">Текст1</a></li>
                                <li><a href="<?=base_url();?>seminars#a6" title="6">Текст1</a></li>
                                <li><a href="<?=base_url();?>seminars#a7" title="7">Текст1</a></li>
                                <li><a href="<?=base_url();?>seminars#a8" title="8">Текст1</a></li>
                             </ul>
                        </li>

Щас при переходе блок не открывается. Но при повторном щелчке все работает отлично. Блоки открываются и сворачиваются.
Скорее всего при первом щелчке не работает, потому что .hide() придается значение display:none.
Но я вроде фильтром $('.acc_container').not('.show').hide(); отбираю. При щелчке из меню, блоку должен присваиваться класс.
Так вот при первом переходе не работает.(
Ответить с цитированием