0

我的 Jquery 代码有点问题,我不明白为什么……</p>

我正在尝试使用垂直下拉菜单构建导航:

主导航已经有一个带有滚动图像的脚本,它也适用于内容的 Ajax 调用......</p>

无论如何,我尝试使用自己编写的代码:这是我的 Jquery 代码:

function nav() {
    $('ul li').mouseover(function() {
        $(this).find('#submenu').show();
    });
    $('ul li').mouseleave(function() {
        $('ul li #submenu').hide();
    });
    $('ul li #submenu').mouseleave(function() {
        $('ul li #submenu').hide();
        ;
    });
};

$(document).ready(function() {
    nav();
});

的HTML:

<li><a href="#home"><img class="fadeim" src="themes/menu/home=1.png" data-hoverimg="themes/menu/home=2.png"/></a></li>

    <li><a href="#lager"><img class="fadeim" src="themes/menu/lager=1.png" data-hoverimg="themes/menu/lager=2.png" /></a></li>

   <ul class="submenu">
<li><a href="#">Mashable</a></li>
<li><a href="#">CNET</a></li>
</ul>

    <li><a href="#anlaesseN"><img class="fadeim" src="themes/menu/anlaesse=1.png" data-hoverimg="themes/menu/anlaesse=2.png" /></a></li>

      <ul class="submenu">
<li><a href="#">Mashable</a></li>
<li><a href="#">CNET</a></li>
</ul>

    <li><a href="#images"><img class="fadeim" src="themes/menu/foto=1.png" data-hoverimg="themes/menu/foto=2.png" /></a></li>

有人可以帮我解决这个问题吗?谢谢

4

1 回答 1

1

我想你的意思是.而不是#in $(this).find('#submenu').show();
你没有身份证#submenu,只有班级.submenu

更正后的代码应该是:

function nav() {
    $('ul li').mouseover(function() {
        $(this).find('.submenu').show();
    });
    $('ul li').mouseleave(function() {
        $('ul li .submenu').hide();
    });
    $('ul li .submenu').mouseleave(function() {
        $('ul li .submenu').hide();
        ;
    });
};

$(document).ready(function() {
    nav();
});

编辑:还要检查你的标记,你正在寻找但不是孩子的 li 实际上在.submenu同一个 DOM 级别(.siblings() 将在这里工作),所以要获得更正确的标记,你应该在 li 中嵌套 ul,并且不将 ul 嵌套在 ul 中。然后就可以使用我上面写的代码了。像这样:.find()ul.submenu

<li><a href="#lager">lager</a>
    <ul class="submenu">
        <li><a href="http://www.mashable.com">Mashable</a>
        </li>
        <li><a href="http://www.cnet.com">CNET</a>
        </li>
    </ul>
</li>

演示(您需要修复 css...)

于 2013-08-30T21:24:44.590 回答