关于横向菜单导航。兼容IE6,7,8,Firefox,Chrome。

公司人少,所以有时候前台就也做一点。最近一个网站需要做一个横向菜单导航,以前也做过一些小例子想着没啥,网站做完后直接上传,第二天老板可说咋在我这显示不对呀,我过去一看。

突然想起来,IE6没试。我就回来开始调,也没调好,网上也有很多,但是一直也没找个合适的。最后还是google出来了一个外国的网页,一看这个不错。确实很好(它的主要特点是那个JS)。我在网上也搜了不少例子,可是一改就乱,就是这个原因换了好些也没见个合适的。记着,用时查看。。。。。

就这了。有空时,把css给注释下。方便改写。(在调css样式做自己样式的时候,用firbug改着调着很方便

对了,老外的博客地址:http://javascript-array.com/scripts/simple_drop_down_menu/

 

 

HTML:

 

<ul id="sddm">
        <!--如果栏目下没有子菜单就不用onmouseover="mopen('m1')" onmouseout="mclosetime()"以及下面的那个DIV -->
        <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">Home</a>
            <div id="m1" onmouseover="mcancelclosetime()" onmouseout="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="#" onmouseover="mopen('m2')" onmouseout="mclosetime()">Download</a>
            <div id="m2" onmouseover="mcancelclosetime()" onmouseout="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="#" onmouseover="mopen('m3')" onmouseout="mclosetime()">Order</a>
            <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
                <a href="#">Visa Credit Card</a> <a href="#">Paypal</a>
            </div>
        </li>
        <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()">Help</a>
            <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
                <a href="#">Download Help File</a> <a href="#">Read online</a>
            </div>
        </li>
        <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()">Contact</a>
            <div id="m5" onmouseover="mcancelclosetime()" onmouseout="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}
posted @ 2010-11-26 16:42  nyth  阅读(4737)  评论(7编辑  收藏  举报