Использование аккордеонного меню jQuery UI (навигация: true) с именованными целями привязки для пунктов меню, то есть пункты меню ссылаются на именованные якоря на текущей странице.
Аккордеон отлично работает с выделением элемента меню, по которому щелкнули, при переходе на другую страницу, но если элемент меню ссылается на именованный якорь на текущей странице, он не меняет выбор / выделение меню при нажатии (хотя ссылка вызывает страница, чтобы перейти к правильной привязке, как и ожидалось). Хэш местоположения обновляется привязкой, но выбранный пункт меню не подсвечивается.
В противном случае ничего необычного. Ниже приведено примерное меню аккордеона, демонстрирующее проблему. При щелчке по любому из пунктов меню аккордеон не выделяет этот элемент меню, чтобы отразить, что это текущий элемент меню.
Я хочу, чтобы он выделил пункт меню при нажатии на него, и ожидаемый аккордеон будет работать таким образом. Как я могу это сделать?
Разве виджет аккордеона предназначен только для обновления / поиска / выделения текущего элемента меню через хэш URL-адреса при инициализации аккордеона при загрузке страницы?
К вашему сведению, я новичок во всем этом. Быть нежным ;)
ТИА
<ul id="navigation">
<li>
<a class="head">Menu 1</a>
<ul>
<li><a href="#anchor1">Sub-topic 1</a></li>
<li><a href="#anchor2">Sub-topic 2</a></li>
<li><a href="#anchor3">Sub-topic 3</a></li>
</ul>
</li>
<li>
<a class="head">Menu 2</a>
<ul>
<li><a href="#anchor1">Sub-topic 1</a></li>
<li><a href="#anchor2">Sub-topic 2</a></li>
<li><a href="#anchor3">Sub-topic 3</a></li>
</ul>
</li>
</ul>
[Добавлено 11-17-2010]
Ничего особенного в моих библиотеках или в коде инициации аккордеона:
jquery-1.4.2.min.js
chili-1.7.pack.js
jquery.easing.js
jquery.dimensions.js
jquery.accordion.js
jQuery().ready(function(){
$('#navigation').accordion({
collapsible: true,
active: 0,
header: '.head',
navigation: true,
autoheight: true,
animated: 'easeslide'
});
});
Все это связано с тем, как аккордеонный lib обрабатывает именованные якоря.