我是javascript和jQuery的新手,我似乎无法自己解决这个问题。
此代码位于一个空白的wordpress“启动器”模板中,可在此处查看:http://jsfiddle.net/AyStc/13/
(注意:我添加了那些令人讨厌的颜色来对比白色背景。它们不是网站上的颜色!)
我无法弄清楚这两件事:
当光标移动到其下方的子项时,使父项的背景保持蓝色。
当有人点击子项目并转到该页面时,父项目文本会保持突出显示,以指示用户所在站点的哪个部分。
我一直在阅读jQuery中的.closest(),但我似乎无法让它像这样工作。
感谢任何指导!
答案 0 :(得分:3)
一种方法是找到父母,然后找到孩子,然后过滤掉你需要的孩子。类似的东西:
$("#navi ul.menu li").hover(function() {
$(this).find('ul.sub-menu')
.stop(true, true).delay(50).animate({ "height": "show", "opacity": "show" }, 500 ).parent().children('a:first').css('background-color','blue');
}, function(){
$(this).find('ul.sub-menu')
.stop(true, true).delay(50).animate({ "height": "hide", "opacity": "hide" }, 200 ).parent().children('a:first').css('background-color','yellow');
});
或者,.prev('a')做同样的事情,如果你知道父X总是在子菜单之前。