Меню аккордеон jquery. Не работают ссылки.
Здравствуйте.
Перелопатил инет и ничего не нашел. Проблема в следующем. Есть меню аккордеон. Прописываю ссылки и они не работают , если к пункту добавлен второй уровень меню. В коде ниже работает только последняя ссылка. код HTML:
<ul class="accordion">
<li><a href="#">бла</a>
<ul>
<li><a href="/ccnn/index.php?page_id=6">блабла</a></li>
</ul>
</li>
<li><a href="/ccnn/index.php?page_id=6">бла</a>
<ul>
<li><a href="/ccnn/index.php?page_id=6">блабла</a></li>
</ul>
</li>
<li><a href="/ccnn/index.php?page_id=6">бла</a></li>
</ul>
Скрипт
$(document).ready(function() {
$('ul.accordion li ul').css({display:"none"});
$('ul.accordion li:has("ul")').click(function() {
if ($("ul",this).css("display") == "none") {
$("ul.accordion li ul").slideUp(400);
$("ul",this).slideDown(400);
}
return false;
});
});
Если скрипт отключить и меню все становится открытым, то ссылки работают. Надеюсь на помощь. |
Открывашка 240 меню с сохранением перехода по ссылкам
melst,
строка 8 блокирует любые клики
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function() {
$('ul.accordion li ul').hide()
.prev().click(function(event) {
event.preventDefault()
$("ul.accordion li ul").not($(this).next().slideToggle()).slideUp(400);
});
});
</script>
</head>
<body>
<ul class="accordion">
<li><a href="#">бла</a>
<ul>
<li><a href="/ccnn/index.php?page_id=6">блабла</a></li>
</ul>
</li>
<li><a href="/ccnn/index.php?page_id=6">бла</a>
<ul>
<li><a href="/ccnn/index.php?page_id=6">блабла</a></li>
</ul>
</li>
<li><a href="/ccnn/index.php?page_id=6">бла</a></li>
</ul>
</body>
</html>
|
Цитата:
|
| Часовой пояс GMT +3, время: 08:13. |