我試圖創建一個下拉菜單。它運作良好。我想要頂部菜單時,停頓truns成白色。當向下移動到子菜單時,頂層菜單應保持白色。但頂層菜單變成了正常的原始顏色。如何讓父菜單在下拉菜單中的子菜單中保持鼠標懸停狀態
如何在子菜單中移動鼠標時保留父菜單。
的代碼是在這裏:
HTML
<ul id="jsddm" class="menu_nor_cont">
<li style="margin-left:15px;"><a href="#">Home</a>
<li><a href="#">Job Seeker Login</a>
</li>
<li><a href="#">Post Resume</a>
</li>
<li><a href="#">Search jobs<span style="margin-left:5px;"><img src="images/down.png" style="width=15px; height=8px;"></span></a>
<ul>
<li><a href="#">Advanced Search</a></li>
<li><a href="#">Jobs by Company</a></li>
<li><a href="#" style="border-bottom:none;">Jobs by category</a></li>
</ul>
</li>
<li><a href="#">Employer Login</a></li>
<li><a href="#" style="border-right:none;">Post Job</a></li>
</ul>
JS
var timeout = 0;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open()
{ jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');}
function jsddm_close()
{ if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}
function jsddm_timer()
{ closetimer = window.setTimeout(jsddm_close, timeout);}
function jsddm_canceltimer()
{ if(closetimer)
{ window.clearTimeout(closetimer);
closetimer = null;}}
$(document).ready(function()
{ $('#jsddm > li').bind('mouseover', jsddm_open)
$('#jsddm > li').bind('mouseout', jsddm_timer)});
document.onclick = jsddm_close;
CSS
#jsddm
{ margin: 0;
padding: 0;
}
#jsddm li
{
float: left;
list-style: none;
}
#jsddm li a
{ display: block;
padding: 5px 12px;
padding-left:15px;
padding-right:15px;
text-decoration: none;
border-right: 1px solid #DBDBDB;
padding-bottom:6px;
color: #EAFFED;
white-space: nowrap}
#jsddm li a:hover
{
background-color:#FFF;
color:#000;
}
#jsddm li ul
{ margin: 0;
padding: 0;
position: absolute;
visibility: hidden;
border:#3895C0 1px solid;
border-top:none;
z-index:1001;
margin-left:-2px;
}
#jsddm li ul li
{ float: none;
display: inline;
margin:0px;
}
#jsddm li ul li a
{ width: auto;
background: #fff;
color:#080CB2;
font-weight:normal;
font-size:11px;
border-bottom:1px solid #CCC;
text-decoration:none;
width:180px;
}
#jsddm li ul li a:hover
{
text-decoration:underline;
color:#080CB2;
}
感謝朋友的代碼結局裏的標籤,但我仍想知道的問題 – Rajasekar 2010-06-23 17:20:46
瀝@Kumu所指出的,在技術上你是不是「徘徊」在你的例子中,不再是父元素。解決這個問題的最好方法是將你的子元素正確地包裝在父元素中,然後當你「徘徊」這些子元素時,在技術上你仍然會徘徊父類。因此,您的鏈接狀態將保持白色。 這是我在鏈接的HTML + CSS示例中解決的問題。我使用列表:ul> li來完成這個父子對子效果 – darcy 2010-06-23 17:39:59
@ clarke78:我和你一起在這一個100% - 這麼多,我刪除了我現在多餘的答案:-)我發佈了一個類似的例子其他的一天,這也可能證明是有用的:http://stackoverflow.com/questions/3085712/horizontal-css-subnav-issues/3091554#3091554 – Mike 2010-06-23 17:44:53