Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery导航始终打开第一个选项_Javascript_Jquery_Html_Mouseevent_Mouseenter - Fatal编程技术网

Javascript jquery导航始终打开第一个选项

Javascript jquery导航始终打开第一个选项,javascript,jquery,html,mouseevent,mouseenter,Javascript,Jquery,Html,Mouseevent,Mouseenter,我有一个导航元素,如下所示: <ul> <li name='first_item'> <ul> <li>item 1</li> <ul> <li>item 1.1</li> <li>item 1.2</li>

我有一个导航元素,如下所示:

<ul>
    <li name='first_item'>
        <ul>
            <li>item 1</li>
                <ul>
                    <li>item 1.1</li>
                    <li>item 1.2</li>
                </ul>
            <li>item 2</li>
        </ul>
    </li>
</ul>
<ul>
    <li>
        <ul>
            <li>item 3</li>
            <li>item 4</li>
        </ul>
    </li>
</ul>
    • 项目1
      • 项目1.1
      • 项目1.2
    • 项目2
    • 项目3
    • 项目4
处理上下滑动的代码是:(nav是一个html元素,它是上面的父元素)

导航查找(“li”)。每个( 如果($(this.find(“ul”).length>0){ _回调=假; $(“”).text(“^”).appendTo($(this.children(“:first”); //悬停时显示子AV $(this.mouseenter(function()){ $(this.find(“ul”).stop(true,true.slideDown(); }); //退出时隐藏子菜单 $(this.mouseleave(function()){ $(this.find(“ul”).stop(true,true.slideUp(); }); } });
当我将鼠标悬停在第一个_项上时,它会打开子菜单,在完成向下滑动后,它也会打开第1项的子菜单。我完全被这件事弄糊涂了。任何帮助都将不胜感激。

首先,您似乎复制了jquery而没有使用该函数,因此这不是问题所在:

nav.find(“li”).each(函数(){

我认为问题是,你要去深海旅行,所以试试这个:

$(this).find(">ul")
或者这个:

$(this).children("ul")
从jQuery:
.children()
方法与
.find()
方法的不同之处在于
.children()
只沿DOM树向下移动一个级别,而
.find()
可以向下移动多个级别以选择子元素(孙子等)还有。

你能提供小提琴吗?这是一个活生生的例子顶部的红色导航条是问题所在,将鼠标悬停在gallery上,你会看到它你没有
函数(){
之后(
Rory在该函数中我应该做些什么来防止这种行为?我是一个安静的新手。非常感谢您的帮助,它正在按预期工作,是的,您对.find()函数的看法是正确的。
$(this).children("ul")