Javascript 没有子菜单时,需要单击LIA
嗨,我有一个手风琴菜单,所有的工作都很好,除非一个部分没有子类别,我需要链接到页面,而不是试图打开一个子菜单不存在 如何在代码中实现这一点Javascript 没有子菜单时,需要单击LIA,javascript,jquery,accordion,Javascript,Jquery,Accordion,嗨,我有一个手风琴菜单,所有的工作都很好,除非一个部分没有子类别,我需要链接到页面,而不是试图打开一个子菜单不存在 如何在代码中实现这一点 $.noConflict(); $(document).ready(function() { // Store variables var accordion_head = $('ul.accordion > li > a.item'), accordion_body = $('ul.a
$.noConflict();
$(document).ready(function() {
// Store variables
var accordion_head = $('ul.accordion > li > a.item'),
accordion_body = $('ul.accordion li > ul.sub-menu');
// Click function
accordion_head.on('click', function(event) {
// Disable header links
event.preventDefault();
// Show and hide the tabs on click
if ($(this).attr('class') != 'active'){
accordion_body.slideUp('normal');
$(this).next().stop(true,true).slideToggle('normal');
accordion_head.removeClass('active');
$(this).addClass('active');
}
});
});
HTML
<div class="Block CategoryList Moveable" id="SideCategoryList">
<div class="BlockContent" id="dropDowns">
<ul class="accordion">
<li><a href="http://site-link.co.uk" >Main Category 1</a>
<ul class="sub-menu"> <li><a href="http://site-link.co.uk" class="item">item 1</a>
</li> <li ><a href="http://site-link.co.uk" class="item">item 2</a>
</li> <li ><a href="http://site-link.co.uk" class="item" >item 3</a>
</li> <li ><a href="http://site-link.co.uk" class="item">item 4</a>
</li></ul>
</li> <li ><a href="http://site-link.co.uk" class="item">Main Category 2</a>
</li> <li ><a href="http://site-link.co.uk" class="item">Main Category 3</a>
</li>
</ul>
-
-
-
-
-
-
-
只是猜测一下:
// Disable header links
// event.preventDefault(); - handle this below
// Show and hide the tabs on click
if ($(this).attr('class') != 'active'){
accordion_body.slideUp('normal');
var subMenu = $(this).next('ul');
if (subMenu) {
subMenu.stop(true,true).slideToggle('normal');
event.preventDefault();
}
accordion_head.removeClass('active');
$(this).addClass('active');
} else {
event.preventDefault();
}
在这里,您可以更改,因为第一个没有类项
var accordion\u head=$('ul.accordion>li>a')
加
// Disable header links
if ( $(this).next().hasClass('sub-menu') ) {
event.preventDefault();
}
调用
jQuery.noConflict()
,然后立即使用$
进行jQuery?发布html(菜单)结构,尝试对示例代码进行调整。只是相关部分。我们不需要链接指向的信息。另外,我的nederlands很差。这是一种在HTML中使用类属性的笨拙风格。@GuidoJansen我已经为您做了这件事,希望您现在能看得更清楚。