【发布时间】:2016-09-14 19:38:13
【问题描述】:
我目前正在尝试制作一个菜单,该菜单在单击时可展开,保持打开状态,直到单击孩子为止,然后应将用户带到该页面,并且在到达该站点时仍应展开菜单。 (目前它崩溃了)。
我目前已经完成了我有一个菜单的部分,该菜单在单击时会展开并显示子项。它目前是用 javascript 制作的。我正在使用 wordpress 制作菜单,wordpress 会自动将类“current-menu-item”添加到正在访问的 li 中(如果有帮助的话)。
var clickMenu = function() {
var getEls = document.getElementById("menu-shopmenu").getElementsByTagName("LI");
var getAgn = getEls;
for (var i=0; i<getEls.length; i++) {
getEls[i].onclick=function() {
for (var x=0; x<getAgn.length; x++) {
getAgn[x].className=getAgn[x].className.replace("unclick", "");
getAgn[x].className=getAgn[x].className.replace("click", "unclick");
}
if ((this.className.indexOf('unclick'))!=-1) {
this.className=this.className.replace("unclick", "");;
}
else {
this.className+=" click";
}
}
getEls[i].onmouseover=function() {
this.className+=" hover";
}
getEls[i].onmouseout=function() {
this.className=this.className.replace("hover", "");
}
}
}
window.addEventListener("load", clickMenu);
现在我只是在寻求帮助,使其在新页面加载后保持扩展。
另外,这两个功能会不会在设计上产生冲突?
【问题讨论】:
-
您好,我在检查了您参考中的语法后再次尝试了您的方法,现在它可以工作了。但随之而来的是一些新问题。如果将来 i 应该在两个不同的父类别下有一个子类别 A,那么它们都会被扩展。另外,由于它是我正在开发的网上商店,我希望在查看产品时扩展菜单。
标签: javascript jquery html css menu