公司人少,所以有时候前台就也做一点。最近一个网站需要做一个横向菜单导航,以前也做过一些小例子想着没啥,网站做完后直接上传,第二天老板可说咋在我这显示不对呀,我过去一看。
突然想起来,IE6没试。我就回来开始调,也没调好,网上也有很多,但是一直也没找个合适的。最后还是google出来了一个外国的网页,一看这个不错。确实很好(它的主要特点是那个JS)。我在网上也搜了不少例子,可是一改就乱,就是这个原因换了好些也没见个合适的。记着,用时查看。。。。。
就这了。有空时,把css给注释下。方便改写。(在调css样式做自己样式的时候,用firbug改着调着很方便)
对了,老外的博客地址:http://javascript-array.com/scripts/simple_drop_down_menu/
HTML:
<ul id="sddm">
<!--如果栏目下没有子菜单就不用οnmοuseοver="mopen('m1')" οnmοuseοut="mclosetime()"以及下面的那个DIV -->
<li><a href="#" οnmοuseοver="mopen('m1')" οnmοuseοut="mclosetime()">Home</a>
<div id="m1" οnmοuseοver="mcancelclosetime()" οnmοuseοut="mclosetime()">
<a href="#">HTML DropDown</a> <a href="#">DHTML DropDown menu</a> <a href="#">JavaScript
DropDown</a> <a href="#">DropDown Menu</a> <a href="#">CSS DropDown</a>
</div>
</li>
<li><a href="#" οnmοuseοver="mopen('m2')" οnmοuseοut="mclosetime()">Download</a>
<div id="m2" οnmοuseοver="mcancelclosetime()" οnmοuseοut="mclosetime()">
<a href="#">ASP Dropdown</a> <a href="#">Pulldown menu</a> <a href="#">AJAX dropdown</a>
<a href="#">DIV dropdown</a>
</div>
</li>
<li><a href="#" οnmοuseοver="mopen('m3')" οnmοuseοut="mclosetime()">Order</a>
<div id="m3" οnmοuseοver="mcancelclosetime()" οnmοuseοut="mclosetime()">
<a href="#">Visa Credit Card</a> <a href="#">Paypal</a>
</div>
</li>
<li><a href="#" οnmοuseοver="mopen('m4')" οnmοuseοut="mclosetime()">Help</a>
<div id="m4" οnmοuseοver="mcancelclosetime()" οnmοuseοut="mclosetime()">
<a href="#">Download Help File</a> <a href="#">Read online</a>
</div>
</li>
<li><a href="#" οnmοuseοver="mopen('m5')" οnmοuseοut="mclosetime()">Contact</a>
<div id="m5" οnmοuseοver="mcancelclosetime()" οnmοuseοut="mclosetime()">
<a href="#">E-mail</a> <a href="#">Submit Request Form</a> <a href="#">Call Center</a>
</div>
</li>
</ul>
<div style="clear: both">
</div>
<div style="clear: both">
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>
JS:(主要就是这个把不变的东西用js来固定住,其余的都可以自定义)
<script type="text/javascript">
<!--
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
// open hidden layer
function mopen(id)
{
// cancel close timer
mcancelclosetime();
// close old layer
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose()
{
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
// go close timer
function mclosetime()
{
closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime()
{
if(closetimer)
{
window.clearTimeout(closetimer);
closetimer = null;
}
}
// close layer when click-out
document.onclick = mclose;
// -->
</script>
CSS:
#sddm
{ margin: 0;
padding: 0;
z-index: 30}
#sddm li
{ margin: 0;
padding: 0;
list-style: none;
float: left;
font: bold 11px arial}
#sddm li a
{ display: block;
margin: 0 1px 0 0;
padding: 4px 10px;
width: 60px;
background: #5970B2;
color: #FFF;
text-align: center;
text-decoration: none}
#sddm li a:hover
{ background: #49A3FF}
#sddm div
{ position: absolute;
visibility: hidden;
margin: 0;
padding: 0;
background: #EAEBD8;
border: 1px solid #5970B2}
#sddm div a
{ position: relative;
display: block;
margin: 0;
padding: 5px 10px;
width: auto;
white-space: nowrap;
text-align: left;
text-decoration: none;
background: #EAEBD8;
color: #2875DE;
font: 11px arial}
#sddm div a:hover
{ background: #49A3FF;
color: #FFF}