带启用/禁用链接的jQuery Accordion菜单

时间:2015-06-01 14:57:07

标签: jquery menu accordion

我有一个手风琴式的菜单,已逐渐发展,现在几乎按我的意愿工作。它有三个层次:国家,地区和省。我的目标是,当您点击某个国家/地区时,它会向下滑动以显示这些区域。然后,一旦完成,再次单击该国家/地区将链接到新页面。同样,单击某个区域会向下滑动省份列表,然后再次单击该区域会链接到与该区域相关的页面。

要做到这一点,我必须根据手风琴的状态拥有由jQuery禁用和启用的链接。我认为可以使用preventDefault()来完成,但我还没有成功地使它工作。

function(e){
e.preventDefault()
}

jSFiddle显示了我目前的进展状况。法国""法国"此刻,这些地区可以向下滑动。各个地区都有链接,所以目前它还没有显示各省的进展情况。

我想我并不遥远,但是所有插入preventDefault()行(或返回false)的尝试都未能获得所需的效果。我做错了什么?

修改

在Jako的帮助下,我取得了很好的进步。原来的问题解决了。我还添加了一个"关闭"底部的按钮,以便用户可以选择进行大量点击,使菜单保持整洁和易于管理。我现在似乎只剩下一个问题了:在手风琴按下菜单(比如法国)并再次关闭它之后,点击"法国"再次打开链接而不是再打开手风琴。换句话说,"返回false"打开和关闭一次后不起作用。谁能从这里引导我?

我已更新JSFiddle以反映当前的进展。

1 个答案:

答案 0 :(得分:0)

要“覆盖”链接操作,您只需使用“return false”;

$(".leftnav a").click(
function(){
   var sub_nav = $(this).parent().find('ul').first();
   if(sub_nav.length > 0 && !sub_nav.is(":visible")) {
       sub_nav.slideDown(800);
       return false;
    }
});

在jsfiddle上: https://jsfiddle.net/zrhefp2p/1/