多个菜单.如果我点击其中一个,我希望另一个关闭.(toogle).它一直是开放的,如何修复
Javascript Multiple menu. If i click on one ul i want the other to close. (toogle). It keeps being open, how to fix?
希望你能帮我解决这个问题。我已经烦他好久了
尝试让我的菜单工作。
当我点击一个块,我希望它打开,并关闭另一个选项卡"如果"另一个是打开的。
敬祝jfb
这里是jsfield http://jsfiddle.net/3ZWZu/包含HTML, CSS, JS(jQuery)
$(document).ready(function() {
$('.ac-menu .topLevel').click(function(e) {
e.preventDefault();
if($('.ac-menu .topLevel ul').hasClass('open') === true){
$('.ac-menu .topLevel ul').removeClass('open');
$('.ac-menu .topLevel ul').addClass('closed');
$('.ac-menu .topLevel ul').slideUp(300);
}
if($(this).next('ul').hasClass('closed') === true){
$(this).next('ul').removeClass('closed');
$(this).next('ul').slideDown(300);
$(this).next('ul').addClass('open');
}
});
});
假设你使用JQuery,试试这个:
$(document).ready(function() {
$('.ac-menu .topLevel').click(function(e) {
e.preventDefault();
$('.ac-menu ul.open').removeClass('open').addClass('closed').slideUp(300);
$(this).next('ul.closed').removeClass('closed').slideDown(300).addClass('open');
});
});
基本上这背后的想法是,使用ul.open
或ul.closed
选择器,您将只选择具有特定类集的ul
。如果没有,那么JQuery将返回一个空集合,并且不会将这些操作应用到任何东西上——这就是JQuery的工作方式。此外,它允许您连接命令,就像我的示例中所示。
我想你需要那个jsfield
i添加topLevel
类代替a href
$(document).ready(function() {
$('.ac-menu li.topLevel').click(function(e) {
e.preventDefault();
var isClosed = $(this).find('ul').hasClass('closed');
$('.ac-menu li.topLevel ul').removeClass('open').addClass('closed').slideUp(300);
if( isClosed){
$(this).find('ul').addClass('open').removeClass('closed').slideDown(300);
}
});
});
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- Node.js v6.2.0类扩展不是函数错误
- 直接下载文件,而不是从window.open(url)
- 使用压缩的JavaScript文件(不是运行时压缩)
- 我是不是一直在为图像标签强制固定图像大小
- 我一直收到的控制台警告是什么?推迟长时间运行的计时器任务以提高滚动的流畅性
- 我一直在获取angularjs服务不是函数错误(LoginService.login不是函数)
- 我一直收到这个角度js错误:参数“示例控制器”不是一个函数,未定义
- 为什么在JavaScript中countBreak()函数一直在更新,而不是countdown()函数
- 在typescript中一直使用.tsx而不是.ts有什么缺点吗
- 让客户端一直监听,而不是只监听一次
- Javascript代码运行良好.几乎一直都是
- 我一直得到TypeError: undefined不是一个函数
- 多个菜单.如果我点击其中一个,我希望另一个关闭.(toogle).它一直是开放的,如何修复
- 有人知道这个倒计时是怎么运作的吗?我一直在寻找源代码,不能弄清楚如何
- 为什么有些PHP或JS文件是单行上传的,而不是一直格式化
- 我一直在看“;myApp.controllers”;或“;myApp.modules”;在Angular JS中.这是什
- DatePicker/Timepicker一直是可见的