Javascript手风琴菜单,点击一次展开,点击两次链接
javascript accordion menu that clicks once to expand, click twice to link
我试图让一个手风琴菜单按照我想要的方式运行,但它不会响应我的声音请求。
我希望按照下列规则行事:
如果没有子菜单,则进入已设置的链接。
如果有子菜单,展开它,并设置下一步。
如果是子菜单,并且已展开,则单击标题将转到相应的链接。
手风琴部分工作良好,但'一旦展开,但再次点击'链接部分不。任何提示和/或指示将是非常感激的。
我使用的代码如下:
function initMenus() {
$('ul#treeview ul').hide();
$.each($('ul#treeview'), function(){
$('#' + this.id + '.expandfirst ul:first').show();
});
$('ul#treeview li a').click(
function() {
var checkElement = $(this).next();
var parent = this.parentNode.parentNode.id;
if($('#' + parent).hasClass('noaccordion')) {
$(this).next().slideToggle('normal');
return false;
}
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
if($('#' + parent).hasClass('collapsible')) {
$('#' + parent + ' ul:visible').slideUp('normal');
}
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#' + parent + ' ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
}
);
}
$(document).ready(function() {initMenus();});
确保您的click事件到达该函数的末尾,并且在没有子项要展开时不返回false。返回false将停止访问该href。
相关文章:
- 链接两个网页或网络应用程序的最佳方式
- 导航到链接9000次
- 使用链接多次选择文本
- OpenLayers 3.13:通过链接两个视图来提供绑定To的问题
- 如何链接两个脚本
- 如何使用数据属性而不是它们的值来链接两个下拉列表
- 链接两个D3图
- 如何使用three.js链接两个几何对象
- 一张图片的多个标题-点击链接一次查看一个
- 单击链接两次以使用ui路由器激活状态
- 链接两个函数的最佳实践,AngularJs/JavaScript
- 触发iframe中的链接两级以下
- 在AngularJS中使用Promises来链接两个不同的控制器
- 使用Cookies防止用户点击链接两次
- 隐藏菜单上的内容链接二次点击
- 鼠标悬停时链接两个元素和双工具提示
- 在点击一个特定的链接一次
- 如何用JavaScript和n:m关系链接两条记录
- jQuery按链接x次,然后这样做
- 当点击链接两次而不是一次时,Lightbox会激活