Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Модификация скрипта "Аккордеон" (https://javascript.ru/forum/jquery/17344-modifikaciya-skripta-akkordeon.html)

wfire 15.05.2011 15:44

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

wfire 16.05.2011 12:34

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

0931454574 16.05.2011 12:55

Очень просто!
ссылкой укажи id нужного места!


<a href="А ВОТ ТУТ АЙ ДИ КУДА НУЖНО ПРЫГНУТЬ" onclick="$('#id').click();">

Хотя возможно он клик будет мешать, попробуй , если что не выйдет , есть другой вариант.

wfire 16.05.2011 14:37

Способ почти работает... То есть прокручивает не до id, а тупо до конца страницы почему-то...

0931454574 16.05.2011 15:50

ХМ, возможно глупое замечание , но создайте уникальный див с ай ди 100% уникальным. и уже на него попробуйте сослаться. Все должно работать. Если нет, то надо думать что у Вас мешает стандартному выполнению

wfire 16.05.2011 17:54

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

0931454574 17.05.2011 17:37

Давайте посмотрим исходник.

wfire 27.05.2011 08:43

Прошу прощения за долгое молчание, был в командировке... С проблемой разобрался, мой косяк был


Часовой пояс GMT +3, время: 11:46.