仿Amazon.com菜单效果的简单实现

三月 24, 2010 by zeze · Leave a Comment   

仿Amazon.com菜单效果的简单实现是3年前就有了,效果不错就整理发布上去一起分享;

HTML

<p onclick=”emotion();”>hello, emotion!</p>
<div id=”menu” onmouseout=”javascript:mout=setTimeout(‘fnSmall()’,1000);” onMouseOver=”javascript:clearTimeout(mout);”>
<table border=”0″ cellspacing=”0″ cellpadding=”0″>
<tr>
<td width=”50″ valign=”top” align=”left”>
<ul>
<li>class</li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li></li>
</ul>
</td>
<td width=”50″ valign=”top” align=”left”>
<ul>
<li>class</li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
</ul>
</td>
<td width=”50″ valign=”top” align=”left”>
<ul><li>class</li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
</ul>
</td>
<td width=”50″ valign=”top” align=”left”>
<ul>
<li>class</li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
<li><a href=”#” onclick=”fnSmall();”>item</a></li>
</ul>
</td>
</tr>
</table>
</div>

CSS样式

<style type=”text/css”>
body{
text-align: center;
}
p{
cursor: pointer;
margin: 0;
padding: 0;
font-size: 24px;
display: inline;
}
div a:link, div a:visited{
color: #666;
text-decoration: none;
}
div a:hover{
color: #FF6600;
text-decoration: underline;
}
div{
border: 2px solid #666;
background: #fff;
margin: 5px auto;
overflow: hidden;
display: none;
padding: 5px 10px;
}
ul,li{
margin: 0;
padding: 0;
}
li{
list-style: none;
}
li.title{
font-weight: bold;
}
</style>

JavaScript

<script type=”text/javascript”>
var w = 0;
var h = 0;
var mout;
function emotion(){
var oMenu = document.getElementById(“menu”);
if(w <= 50){
oMenu.style.display = “block”;
fnLarge();
}
else{
fnSmall();
}
}
function fnLarge(){
var oMenu = document.getElementById(“menu”);
if(w < 200){
w += 50;
h += 25;
oMenu.style.width = w+”px”;
oMenu.style.height = h+”px”;
window.setTimeout(“fnLarge()”,10);
}
}
function fnSmall(){
var oMenu = document.getElementById(“menu”);
if(w > 0){
w -= 50;
h -= 25;
oMenu.style.width = w+”px”;
oMenu.style.height = h+”px”;
window.setTimeout(“fnSmall()”,5);
}
else{
oMenu.style.display = “none”;
}
}
</script>

>>效果预览

转载自网络,来源:仿Amazon.com菜单效果的简单实现

相关文章


About zeze

发布评论