jQuery on hover显示导航菜单上的子链接

时间:2014-02-04 11:48:39

标签: javascript jquery html css

我有一个导航菜单,当我将鼠标悬停在链接上时,我想显示每个链接子菜单,然后切换或隐藏并显示每个链接子菜单。

当我将鼠标悬停在导航菜单上的链接上时,它会显示所有链接的所有子菜单。

到目前为止,我附上了一个关于我的代码演示的小提琴: -

http://jsfiddle.net/QTm2c/1/

这是jQuery

$(document).ready(function() {
    $("li.navmain__item").hover(function () {
            $("span.navmain__item--subnavholder").toggle();
        })
})

由于

6 个答案:

答案 0 :(得分:2)

使用:

$(document).ready(function() {
    $("li.navmain__item").hover(function () {
        $(this).children("span.navmain__item--subnavholder").toggle();
    });
});

Fiddle

答案 1 :(得分:1)

试试这个:

$(document).ready(function() {
    $("li.navmain__item a").hover(function () {
        $(this).siblings().toggle();
    })
})

答案 2 :(得分:0)

您必须定位特定子菜单。在hover()处理程序内,使用:

$("span.navmain__item--subnavholder", this.parentElement).toggle();

答案 3 :(得分:0)

您只需要获取您正在悬停的元素的subnavholder。在回调中,您悬停的元素存储在this中(作为HTML元素)。

更改

$("span.navmain__item--subnavholder").toggle();

$(this).parent().find("span.navmain__item--subnavholder").toggle();

会做的伎俩!

答案 4 :(得分:0)

在您当前的设置中,应该这样做

$(document).ready(function() {
            $("li.navmain__item").hover(function () {
                $(this).find(".navmain__item--subnavholder").toggle();
            })
        })

答案 5 :(得分:0)

您还可以为脚本添加索引。这是编辑,工作jssfiddle:http://jsfiddle.net/QTm2c/8/

$(document).ready(function() {
        $("li.navmain__item a").hover(function () {
            var index = $( "li.navmain__item a" ).index( this );
            $("span.navmain__item--subnavholder"+index).toggle();
        })
    })