如果打开jquery对话框,则下拉菜单位于前面

时间:2011-12-28 06:59:06

标签: jquery html css

我做了一个工作正常的下拉菜单,但是当我打开一个jquery对话框窗口,然后当我去下拉菜单时,它的菜单会一直隐藏在jquery对话框窗口后面,虽然我想要菜单开放在前面。

这是jquery代码。     (文件).ready(function(){

    $('#nav li').hover(function() {
        //show its submenu
        $('ul', this).slideDown(200);

    }, function() {
        //hide its submenu
        $('ul', this).slideUp(100);
    });

    $('ul li').click(function() {
        $('ul',this).slideUp(100);
    });
});

我尝试过z-index,但它也不起作用。下面是css。

#nav {
margin: 0 0 0 5px;
padding: 0;
list-style: none;
}
#nav li {
float: left;
display: block;
position: relative;
background: #025b87;
z-index: 500;
}

#nav li a {
display: block;
padding: 8px 5px 0 5px; 
height: 23px;
text-decoration: none;
color: #FFFFFF;
text-align: left;
color: #FFFFFF;
}
#nav li a:hover {   
background-color: #d1d3d4;
color: #000000;
border-width:1px;
}
#nav li ul li a:hover { 
background-color: #d1d3d4;
color: #000000; 
}

2 个答案:

答案 0 :(得分:1)

我已经弄明白了,对话框的默认zIndex是1000,我给导航菜单提供500 zindex。所以它意味着zindex越高,元素的优先级就越高。所以我必须给出高于对话的deafult zindex值的值。所以我给了#nav li zindex 1500或任何大于1000的值。现在1500> 1000。所以堆栈中#nav li的优先级现在大于jquery对话框。

答案 1 :(得分:0)

我认为jQuery对话框会应用一些css规则,总是在所有其他元素的前面。看看这个,它可能会给你答案。 ;)