.slideup()删除整个ul,而不仅仅是嵌套的li
.slideup() removing entire ul instead of just the nested li
与这个坏蛋有一些问题:
基本上需要它,这样当其中一个隐藏列表折叠时,就会检查标记,看看是否有其他"活动"列表已经打开,并在打开新列表之前关闭这些列表。如果同时打开多个,看起来会很乱。
链接:http://www.matchboxlondon.com/ten/menu3/index.html
尝试:
1.单击菜单
2.单击"服务"
3.单击"普拉提"展开
4.单击Fitness以展开
问题:使用.slideup()时,标题也会被删除。
我的代码目前正在做的是检查是否有任何东西是用一个名为"somethingOpen"的全局定义变量打开的——在页面加载时,这个变量被设置为null。这一切都很好,但我觉得这可能与完整的显示有关:没有可折叠列表:
因为它是listy和nesty,所以我只在这里包括js,而不包括标记:
somethingOpen = null; // to set after close and open
$('#cssmenu > ul > li > a').click(function () {
if (somethingOpen === true) { // first check
$("#cssmenu > ul > li").each(function () {
$("#cssmenu > ul > li.active").removeClass('active').slideUp(); // <-- problem here
somethingOpen = false; // closing so set to false
return false; // exit function
});
} // End somethingOpen if
// Open
var checkElement = $(this).next(); // more checks
$(this).closest('li').addClass('active'); // add active class
somethingOpen = true; // redefine if anything is open
// Close
if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
$(this).closest('li').removeClass('active');
checkElement.slideUp('normal');
somethingOpen = false;
}
if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#cssmenu ul ul:visible').slideUp('normal');
checkElement.slideDown('normal');
}
// Returns
if (checkElement.is('ul')) {
return false;
} else {
return true;
}
}); // End click
试试这个:
//$("#cssmenu > ul > li.active").removeClass('active').slideUp(); // -- problem here
$("#cssmenu > ul > li.active").animate({height: "toggle", opacity: "toggle"}, 'fast');
对于任何感兴趣的人来说,它需要进行一些调整,使用children()和after(>)来正确选择正确的元素。
somethingOpen=null;//关闭和打开后设置
$('#cssmenu > ul > li > a').click(function () {
if (somethingOpen === true) { // first check
$("#cssmenu > ul > li").each(function () {
$("#cssmenu").children('.active').removeClass('active');
$("#cssmenu > ul > li > ul").slideUp('normal');
somethingOpen = false; // closing so set to false
return false; // exit function
}); // end each
}
}); // End somethingOpen if
相关文章:
- 访问嵌套JSON对象的键,其中键是动态的
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 嵌套foreach逐字母读取值,而不是整个单词
- .slideup()删除整个ul,而不仅仅是嵌套的li
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- 验证嵌套在ng中的输入元素repeat也用于页面加载,而不仅仅用于更改
- JavaScript查找属性是用于重复属性名称的嵌套对象
- 嵌套视图的推荐方式是什么
- 通过对象的嵌套集合进行递归总是在第一个叶节点处终止
- 附加到 DOMWindow 实例而不是自身实例的嵌套方法调用
- 此代码中嵌套承诺的目的是什么
- 嵌套事件在Javascript/JQuery中是一种很好的实践吗?
- 嵌套依赖主干.js具有 require.js 主干的视图.js导致视图作为对象而不是函数加载
- 使用 JavaScript for Flash Player 而不是嵌套对象
- 对象的对象?或者可能是嵌套对象?在 JavaScript 中
- jQuery find.Selector,但不是嵌套选择器(.Selector.Selector)
- 在处理错误时是否有办法将承诺链起来,就像承诺是嵌套的一样
- toState.Url值不是嵌套状态的绝对哈希值
- 当我使用窗口时,Iframe是嵌套的.每次的位置
- 相同的控制器,相同的模板,相同的资源,但一个是嵌套状态,而另一个不是