2012-04-18 4 views
0

Я использую интерфейс jQuery accordion UI - http://jqueryui.com/demos/accordion/ ... и хотел бы связать конкретный аккордеон в нижнем колонтитуле, чтобы ссылка переместила вас на определенную страницу И открывает специфический аккордеон.Ссылка на конкретный пользовательский интерфейс jQuery

В плагине, заголовки являются ссылки, поэтому я добавил: имя = «контакт», а затем я уже связан с/Pagename #contact, но он не будет открывать Accordian так делает его бессмысленным.

Что я могу сделать? Спасибо

ответ

0

Я уверен, что вы должны сделать заголовок <a href="#contact"> для содержания элемента аккордеона, на который вы ссылаетесь.

Также вы должны настроить аккордеон так: .accordion({ navigation:true })

Edit: http://jsfiddle.net/M5JQn/

+0

благодаря Джо. Я сделал это, но теперь, когда я перехожу к/* pagename */#, он просто забирает меня на страницу со всеми тремя аккордеонами и не открывает контакт автоматически. – bryceadams

+0

Я приложил демо-версию, взгляните на структуру и код там –

0

от: http://jqueryui.com/demos/accordion/#method-activate

.accordion ("активировать", индекс)

Активировать Содержательная часть Аккордеон программно. Индекс может быть нулевым индексом для соответствия позиции заголовка для закрытия или выбора, соответствующего элементу.

Пропустить ложь, чтобы закрыть все (возможно только с разборным: true).

Таким образом, когда ссылка в футере щелкнули: OnClick "открыть страницу; $ ('accname') аккордеон ('активировать', 2)."

UPDATE: , так как активировать, как щелчок каждый раз, когда он не всегда будет открывать его, поэтому сначала нужно получить его состояние, используйте: if ($ ('# accordion'). accordion ('option', 'active')! = 1) {$ ('#accordionp'). accordion ('option', 'active', 1);} Это гарантирует, что он будет открыт каждый раз, когда вы заходите на него.

0

Забудьте, что я сказал ниже. Это общий подход, отличный от jquery ui. Существует лучший способ, как упомянуто «Джо Флато», и this - хороший пример.


В документации есть что-то подобное. Это то, что вам нужно? $ (".selector") .accordion ({active: 2});

Вы можете определить массив, как:

var pages=new Array(); 
pages['main']=1; 
pages['contact']=2; 
pages['help']=3; 
//and whatsoever 

Затем вы можете открыть эту страницу с информацией из URL-адреса хэш:

var hash = window.location.hash 
$(".selector").accordion({ active: pages[hash] }); 
Смежные вопросы