Модификация скрипта "Аккордеон"

wfire

Новичок
В настоящее время столкнулся с проблемой, которую, ввиду слабого знания javascript и, соответственно, jQuery, не в состоянии решить самостоятельно.
Я установил на свой сайт jQuery аккордеон. Но мне необходимо, чтобы блоки раскрывались не только при клике на заголовке, но и при клике на обычной html-ссылке, расположенной на этой-же странице (на каждый блок аккордеона - своя ссылка). Я так подозреваю, что каждому блоку надо присвоить идентификатор, и в параметрах ссылки его указывать.
Соответственно надо как-то переделать и саму функцию.
Буду весьма благодарен, если вы сможете подсказать мне вариант решения данной проблемы.
 

DIG

Новичок
Партнер клуба
Используй стандартный метод аккордеона: .accordion( "activate" , index )
 

wfire

Новичок
Почитал доки про этот метод - да, это именно то, что нужно.
Но простите за такой вопрос, но поскольку в javascript я полный ноль.... Как привязать вызов метода к ссылке? И еще - блоки (<h3>) аккордеона надо как-то нумеровать, или просто по порядку можно индекс указывать - 0,1,2,3 и т.д.?
 

wfire

Новичок
Решил проблему следующим образом: каждому блоку присвоил id, а в ссылке указываю <a href="#" onclick="$('#id').click();">
Работает, только сразу возникла другая проблема: аккордеон у меня довольно большой по высоте, и в один экран не входит. И получается, что иногда по ссылке открывается блок, который находится вне видимости. Надо как-то скроллить экран до открывшегося блока, как?
 

DIG

Новичок
Партнер клуба
Как решить данную проблему сходу незнаю. Покопай в сторону .focus(). Но лично моё мнение - если акордеон имеет более 10-15 секций нужно задуматься о "юзабилити" и перейти к другой форме навигации - древовидное меню, кучка ссылок, облако тэгов, других умных слов... :)
Может конечно я и неправ, тогда спецы по юзабилити меня поправят.
 
  • Like
Реакции: craz

wfire

Новичок
Вставил якорь: <a href="#test" onclick="$('#id').click();">
Но дело в том, что эта сылка тоже находится в блоке аккордиона, самом верхнем. Идея такая - сверху находится что-то типа алфавитного списка, при нажатии ссылки в этом списке открывается соответствующий блок аккордеона, и экран скроллится к нему, если он за пределами видимости.
В итоге нужный блок открывается, а вот страница скроллится не до якоря, а тупо до конца страницы. Видимо из-за того, что ссылка из одного блока акоордеона ведет на другой, какой-то косяк вылезает...
 
Сверху