Активация панелей аккордеона с внешних якорей/ссылок

Некоторое время я пытался активировать панель аккордеона jQuery UI по внешней ссылке.

У меня есть ссылки на страницах, на которых находится виджет аккордеона, который я хотел бы использовать для активации панелей аккордеона. Эти ссылки не находятся в разметке виджета аккордеона.

Эти ссылки манипулируют интерактивностью вкладок и используются для всплывающего содержимого AJAX. В некоторых состояниях приложения часть { navigation: true } моего объекта параметров для аккордеона забывается. Я считаю, что это потому, что я инициирую window.reload.location(), чтобы вернуться к определенным состояниям приложения.

Функция ниже показывает это. Я думаю, что мне нужен либо собственный навигационный фильтр, построенный на хэшах, либо местоположение, которое будет работать в этой функции, чтобы также активировать панели аккордеона в зависимости от того, по какому URL-адресу находится пользователь. У меня есть навигация, установленная в true в начале моих сценариев, а следующий сценарий появляется позже...

// "Back to xxxtabTitle" button used to revert tabs to their default state after    
// photoNav pop-in AJAX content has been loaded
$('#mainContent').on('click', '.backToInitTab', function(event) {
    event.preventDefault();
    window.location.reload();

  // accordion navigation filter to open correct accordion panel on click event
    // Can you help with this? I'd greatly appreciate it.
  // /accordion navigation filter
    });

// /"Back to xxxtabTitle" button

Любая помощь или понимание по этому вопросу будет принята с благодарностью! Заранее спасибо. С уважением, Дик Киркланд


person Dick Kirkland    schedule 14.06.2012    source источник


Ответы (2)


Типа ответа: мне пришлось отказаться от использования параметров навигации с аккордеоном пользовательского интерфейса jQuery, поскольку я использую дизайн на сайте, который содержит кнопки, которые выполняют перезагрузку на страницах и/или панели вкладок пользовательского интерфейса с помощью window.location.reload(); . Если у вас есть эта перезагрузка контента на вашем сайте, вы можете увидеть, как навигация начинает действовать, открывая нужную панель аккордеона, но затем видя, как панель сжимается. Я полагаю, это потому, что обычно щелчки на самой панели аккордеона указывают компоненту аккордеона пользовательского интерфейса, как реагировать на историю хэшей. Мы отключили навигацию и вручную определили, какие панели должны открываться на минимальном количестве страниц. Это позволяет функциям AJAX (содержимое с вкладками) по-прежнему открывать панели аккордеона, и единственная видимая анимация — это перезагрузка всей страницы.

person Dick Kirkland    schedule 01.08.2012

написать

$("#аккордеон").аккордеон({активный: 2});

обратитесь к этот сайт

person Community    schedule 23.07.2012
comment
Этот ответ также полезен. Я мог отметить только один, а полное объяснение вашего кода и другие вещи приведены выше. Спасибо! - person Dick Kirkland; 01.08.2012