下拉子菜单在悬停时隐藏在iframe后面

时间:2013-08-24 22:28:33

标签: jquery html css iframe drop-down-menu

我有一个幻灯片,它使用了slideful.com的iframe。来自幻灯片的幻灯片使用jquery。在主页上放置幻灯片后,我在导航中的下拉菜单中添加了一个下拉菜单,该菜单位于“slideful.com”幻灯片/ iframe的正上方。当我将鼠标悬停在菜单上时,子菜单会隐藏在slideful.com幻灯片/ iframe后面。我尝试添加“z-index”属性,以及“position:absolute;”但没有任何效果。

slideful.com幻灯片/ iframe代码如下所示:

<iframe src="http://slideful.com/v20130725_0935361299097223_pf.htm" frameborder="0" style=" border:0px;padding:0px;margin:0px;width:900px;height:563px;position:relative;z-index:1000;" allowtransparency="true">

下拉菜单的代码如下所示:

<style type="text/css">
.tab{
font-family: arial, verdana, san-serif; 
font-size: 14px;
}
.asd
{
text-decoration: none;
font-family: arial, verdana, san-serif;
font-size: 13px; 
color:#4234ff;
}

/*****remove the list style****/
#nav {
margin:0; 
padding:0; 
list-style:none;
}   

/*****LI display inline *****/
#nav li {
float:left; 
display:block; 
width:100px;
background:#1E5B91;
position:relative;
z-index:500; 
margin:0 1px;
}

/*****parent menu*****/
#nav li a {
display:block; 
padding:8px 5px 0 5px; 
font-weight:700; 
height:23px; 
text-decoration:none; 
color:#ffffff;
text-align:center; 
color:#ffeecc;
}

#nav li a:hover 
{
color:#470020;
}

/* style for default selected value */ #nav a.selected {
color:#4234ff;
}
/* submenu */ #nav ul 
{
position:absolute; 
left:0; 
display:none; 
margin:0 0 0 -1px;
padding:0; 
list-style:none;
}

#nav ul li
{
width:100px; 
float:left; 
border-top:1px solid #fff;
}

/* display block will make the link fill the whole area of LI */ #nav ul a 
{
display:block; 
height:15px;
padding: 8px 5px; 
color:#ff7777
}

#nav ul a:hover 
{
text-decoration:underline;  
padding-left:15px;
}
</style>

<script type="text/javascript" src="jquery.js"> 
</script>

<script type="text/javascript">
$(document).ready(function () { 
$('#nav li').hover(
function () {
//show its submenu
$('ul', this).slideDown(350);
}, 
function () {
//hide its submenu
$('ul', this).slideUp(350); 
}
);
});
</script>

<input type=hidden name=arav value="1*#*#*2"><ul id='nav'>
<li> <a href='#'>SHOP</a>
<ul>
<li style='background-color:#b0c4de;'><a href=http://LINK.com>Womens</a></li>
<li style='background-color:#bebebe;'><a href=http://LINK.com>Mens</a></li>
</ul>
</li>
</ul>

1 个答案:

答案 0 :(得分:2)

IGNORE:

您的iframe z-index是第一个问题(不确定为什么数字低于#nav)。另一个问题是你的jquery代码 - 菜单不起作用我在Firefox 23.0.1 js console中得到了这个错误

reference error $ is not defined     

http://jsfiddle.net/jnelson/krWS4/5/ - 这是您的幻灯片使用相同的css,但更改了javascript代码(仍为JQ)并删除了iframe中的z-index。

**编辑:**同时kimberlyfrommars请注意您的代码的这些提示。

  1. 将所有代码(没有样式=“[stuff ...]”)和<style>分开放在同一个文档中......让代码更难为你编写。

    • 最好将所有样式放入单独的文件中,以便更方便地进行通用访问(每个页面中的所有页面都使用一种样式而不是<style>)。
  2. 每当您创建jquery动画时,请确保使用.stop()

    • 每次将鼠标悬停在SHOP上时,动画都会排队等待..即使上一个动画尚未完成。所以.stop()是第一个被删除任何动画队列的东西。
  3. 修改

    删除

    theme.css(行:585)

    .strip {
    overflow: hidden; <-- this
    background: none repeat scroll 0% 0% transparent;
    }
    

    theme.css(第728行)

    #main_nav {
    min-width: 900px;
    overflow: hidden; <--- this
    margin: 0px auto;
    text-align: center;
    padding-bottom: 30px;
    }
    

    让我知道它是否有效。