Аккордеонный триггер jQuery вне элемента - PullRequest
0 голосов
/ 29 марта 2011

У меня есть один выпадающий список с помощью плагина JQuery для аккордеона, но я хочу, чтобы триггер был ссылкой, которая находится на другой стороне страницы, за пределами выпадающего элемента.

возможно?

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Конечно.

Скажите, что ваши триггеры похожи на:

<a href="#" class="accordionLink">1</a>
<a href="#" class="accordionLink">2</a>
<a href="#" class="accordionLink">3</a>

Затем вы предоставляете:

$(".accordionLink").click(function() {
    var id = $(this).text();
    // check if it is already active by checking for the existence of a class on the
    //header
    id = +id - 1;
    if(!$("#sec_" + id).hasClass("ui-state-active")) {
        $( "#accordionId" ).accordion('activate', id);
    }
});

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

1 голос
/ 29 марта 2011

Если я правильно понимаю, вы хотите запустить аккордеон из внешней ссылки.

Вы можете использовать:

$( "#accordionId" ).accordion( "option", "active", idxToActivate );

Быстрый пример:

HTML

<div id="accordion">
    <h3><a href="#">First header</a></h3>
    <div>First content</div>
    <h3><a href="#">Second header</a></h3>
    <div>Second content</div>
</div>

<a href='#' onclick='$( "#accordion" ).accordion( "option", "active", 1 );'>test</a>

СКРИПТ

jQuery(document).ready(function(){
    $('#accordion').accordion({});
});
...