Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有javascript链接问题的手风琴菜单_Javascript_Jquery_Css_Accordion - Fatal编程技术网

带有javascript链接问题的手风琴菜单

带有javascript链接问题的手风琴菜单,javascript,jquery,css,accordion,Javascript,Jquery,Css,Accordion,我通过一个教程用javascript制作了这个手风琴菜单列表 如您所见:每个主li类“ToggleSubmenu”都被转换为不再有任何链接,而只是作为一个类别来隐藏/显示其他子li 我的问题是: 如何具有相同的效果,但使切换子菜单具有链接和显示/隐藏功能 正如您所看到的,return false阻止了链接,但我不能删除它 编辑:理想情况下,如何添加名为“.linked”的类来表示“如果存在此类。已链接,则激活特定链接。如果不这样做,则它已经存在” 非常感谢你的帮助 本吉 $(文档).ready(

我通过一个教程用javascript制作了这个手风琴菜单列表

如您所见:每个主li类“ToggleSubmenu”都被转换为不再有任何链接,而只是作为一个类别来隐藏/显示其他子li

我的问题是: 如何具有相同的效果,但使切换子菜单具有链接和显示/隐藏功能

正如您所看到的,return false阻止了链接,但我不能删除它

编辑:理想情况下,如何添加名为“.linked”的类来表示“如果存在此类。已链接,则激活特定链接。如果不这样做,则它已经存在”

非常感谢你的帮助

本吉

$(文档).ready(函数(){
//所有子菜单均隐藏
//除“加载时打开”一项外:
$(“.navigation ul.子菜单:not('.open_at_load'))”).hide();
//我们使用类“toggleSubMenu”选择所有列表项
//我们将其跨度替换为一个链接:
$(“.navigation li.toggle子菜单span”)。每个(函数(){
//我们储存跨度内的内容:
var textexpan=$(this.text();
$(this).replacement为(“”+TexteSpan+“”);
} ) ;
//我们修改列表项中链接上的“单击”事件
//具有“切换子菜单”类:
$(“.navigation li.toggleSubMenu>a”)。单击(函数(){
//Si-le子菜单已打开,我们将其隐藏:
if($(this).next(“ul.子菜单:可见”).length!=0){
$(this.next(“ul.subMenu”).slideUp(“正常”,函数(){$(this.parent().removeClass(“打开”)});
}
//如果子菜单被隐藏,则关闭另一个子菜单并显示:
否则{
$(“.navigation ul.subMenu”).slideUp(“正常”,函数(){$(this.parent().removeClass(“打开”)});
$(this.next(“ul.subMenu”).slideDown(“normal”,function(){$(this.parent().addClass(“open”)});
}
//我们停止链接:
返回false;
});

我建议使用数据属性。为每个想要链接的手风琴按钮添加一个数据属性(即称之为data LinkedAccordion)

在具有此数据属性的每个元素上创建一个特定的单击句柄,以打开一个新窗口,url位于数据属性值中


这不会影响现有的手风琴事件。

您只需在函数return中执行此操作即可

return $(this).hasClass("linked");

您好HB,谢谢您的帮助,我将搜索相关内容。您好@MOD最终无效。我输入了两个类:
  • 效果有效,但链接无效,因为我猜,效果会取代链接…有什么想法吗?谢谢您的帮助您能制作一个JSFIDLE吗
    return $(this).hasClass("linked");