У меня есть несколько похожих ссылок, которые вызывают появление различных навигационных элементов. Я пытаюсь найти способ в JQuery определить, какая из ссылок была нажата, а затем вызвать соответствующие функции открытия / закрытия. HTML-код:
<a href="" id="nav1">1</a>
<a href="" id="nav2">2</a>
<a href="" id="nav3">3</a>
<div id="hidden1">nav links 1</div>
<div id="hidden2">nav links 2</div>
<div id="hidden3">nav links 3</div>
В настоящее время я использую простой переключатель, назначенный каждой паре, но хотел бы настроить его так, чтобы, когда кто-то открывает скрытый div и затем нажимает другой, первый закрывается.
Добавлено ...
Приношу свои извинения за то, что не объяснил более подробно мои цели ... В навигационном меню есть три пункта, которые необходимо изменить при нажатии на ссылку. Сама ссылка изменяет переход css с текста на активную «вкладку», скрытая навигация переключается между скрытием и показом, наложение div также переключается между скрытием и показом. Когда кто-то нажимает на ссылку, он должен показать наложение и скрытый div и изменить ссылки css на активные. Если они снова нажмут на эту ссылку, она должна вернуться назад. Эту часть легко сделать. Задача возникает (по крайней мере, для меня), если у них есть первое скрытое открытие, а затем нажмите третью ссылку, я хочу, чтобы первое скрытое закрылось, и его ссылка вернулась в нормальное состояние css, а третье скрытое было открыто, а ссылка была изменена на активен, но я хочу, чтобы белый оставался открытым (не включайте / выключайте, создавая мерцание).
...
Я думал, что это может сработать, но, увы, не повезло:
$("#nav1,#nav2,#nav3").click(function(e)
{
//determine nav id ...
var nav_id = $(this).attr('id').match(/\d+/);
});
В конечном счете, план состоит в том, чтобы определить нажатую навигационную ссылку, а затем проверить, виден ли фоновый оверлей. Если нет, то откройте навигационные ссылки, парные скрытые div и оверлей. Если это так, то проверьте, открыт ли скрытый div с тем же nav_id, если так, то закройте все или, если нет, закройте все скрытые div и откройте спаренный скрытый div.