Я просто пытаюсь создать простое меню переключения с помощью jQuery, но не могу заставить его работать.jQuery toggle menu click through problems
В его нынешнем состоянии он не скользит тумблер
HTML:
<ul id="menu">
<li><a href="one.html">One</a>
<ul>
<li><a href="one-one.html">one one</a></li>
<li><a href="one-two.html">one two</a></li>
<li><a href="one-three.html">one three</a></li>
</ul>
</li>
<li><a href="two.html">Two</a></li>
<li><a href="three.html">Three</a>
<ul>
<li><a href="three-one.html">three one</a></li>
<li><a href="three-two.html">three two</a></li>
<li><a href="three-three.html">three three</a></li>
</ul>
</li>
<li><a href="four.html">Four</a></li>
</ul>
JS:
$(document).ready(function() {
// Hide the sub menu items first
$("ul#menu > li > ul").hide();
// On click
$('ul#menu > li').click(function() {
// If there are sub items toggle them & prevent default click action
if (('ul#menu > li').has('ul').length > 0) {
$('ul#menu > li > ul').slideToggle("slow");
return false;
};
});
});
мне нужно, чтобы скользить тумблер, но и обрабатывать щелчки соответствующим образом, так что элементы родительского списка не нажимают, но элементы подменю переходят на соответствующие страницы.
I дал это тест как локально, так и с помощью JSFiddle, но он, похоже, не работал. Нажав на каждый пункт меню, просто перейдите на эту страницу без переключения слайдов (?) – Ian
Ian: Я предположил, что это то, что вы хотели, так как ваши якорные метки имел конкретные цели (one.html и т. д.). Я изменил свой ответ, так что щелчок на якорях верхнего уровня не будет следовать их целям. – vls
Простите, я должен был указать. Я просто имитирую действие Выход CMS I pl a использовать его, с которым связывают родителей, даже если им не нужно никуда идти, если у них есть дети. Есть еще одна небольшая проблема, хотя в том списке элементов, у которых НЕ есть дети, также отключены ссылки. Есть ли способ проверить, имеет ли элемент списка дочерние элементы, а если нет, то сохраните ссылку? Спасибо за вашу помощь. – Ian