0

我对 javascript 和 jQuery 很陌生,我似乎无法自己解决这个问题。

这段代码在一个空白的 wordpress “starter”模板中,可以在这里看到:http: //jsfiddle.net/AyStc/13/

(注意:我添加了那些讨厌的颜色来对比白色背景。它们不是网站上的颜色!)

我很难弄清楚这两件事:

  1. 使其在光标移动到其下方的子项时父项的背景保持蓝色。

  2. 当有人单击子项并转到该页面时,父项文本保持突出显示,以指示用户在站点的哪个部分。

我一直在阅读 jQuery 中的 .closest() ,但我似乎无法让它像这样工作。

任何指导表示赞赏!

4

1 回答 1

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 总是在子菜单之前。

于 2012-07-02T22:01:11.597 回答