另一种是 visibility,当它的属性值设为none 的时候。当前层虽然隐藏掉,但仍然占据着它的位置。所以得看清楚了
<style>#sddm
{ margin: 0 auto
padding: 0
z-index: 30
background-color:#F4F4F4
width: 480px
height:23px}
#sddm li
{ margin: 0
padding: 0
list-style: none
float: left
font: bold 12px 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: 12px arial}
#sddm div a:hover
{ background: #49A3FF
color: #FFF}
</style>
<!-- dd menu -->
<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>
</head>
<body style="text-align:center">
<ul id="sddm">
<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="#" target="_blank">codefans.net</a>
</div>
</li>
</ul>
<div style="clear:both"></div>
下拉菜单,鼠标移上,显示层,,鼠标移开,隐藏层
如果是JQuery的话,就用这种方式。$("document).ready(function{ 控制代码 })
如果是普通JS
那么就用window.onload=function(){ 控制代码}
两者效果是一样的,都是页面在加载完成后自动执行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)