列表中的导航菜单的制作
2011-07-18 11:24 Rollen Holt 阅读(787) 评论(0) 收藏 举报效果图如下

代码如下:(图片大家可以自己找)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>事件中的冒泡现象</title>
<meta http-equiv="Content" "content=text/html; charset=utf-8" />
<script type="text/javascript"
src="jquery-1.5.0-vsdoc.js"></script>
<script type="text/javascript"
src="jquery-1.4.2.js"></script>
<style type="text/css">
body {
font-size:13px
}
ul, li {
list-style-type:none;
padding:0px;
margin:0px
}
.menu {
width:190px;
border:solid 1px #E5D1A1;
background-color:#FFFDD2
}
.optn {
width:190px;
line-height:28px;
border-top:dashed 1px #ccc
}
.content {
padding-top:10px;
clear:left
}
a {
text-decoration:none;
color:#666;
padding:10px
}
.optnFocus {
background-color:#fff;
font-weight:bold
}
div {
padding:10px
}
div img {
float:left;
padding-right:6px
}
span {
padding-top:3px;
font-size:14px;
font-weight:bold;
float:left
}
.tip {
width:190px;
border:solid 2px #ffa200;
position:absolute;
padding:10px;
background-color:#fff;
display:none
}
.tip li {
line-height:23px;
}
#sort {
position:absolute;
display:none
}
</style>
<script type="text/javascript">
$( function() {
var curY; //获取所选项的Top值
var curH; //获取所选项的Height值
var curW; //获取所选项的Width值
var srtY; //设置提示箭头的Top值
var srtX; //设置提示箭头的Left值
var objL; //获取当前对象
/**
* 设置当前位置数值
* 参数obj为当前对象名称
* */
function setInitValue(obj) {
curY = obj.offset().top
curH = obj.height();
curW = obj.width();
srtY = curY + (curH / 2) + "px"; //设置提示箭头的Top值
srtX = curW - 5 + "px"; //设置提示箭头的Left值
}
$(".optn").mouseover( function() {//设置当前所选项的鼠标滑过事件
objL = $(this); //获取当前对象
setInitValue(objL); //设置当前位置
var allY = curY - curH + "px"; //设置提示框的Top值
objL.addClass("optnFocus"); //增加获取焦点时的样式
objL.next("ul").show().css({
"top": allY,
"left": curW
}) //显示并设置提示框的坐标
$("#sort").show().css({
"top": srtY,
"left": srtX
}); //显示并设置提示箭头的坐标
})
.mouseout( function() {//设置当前所选项的鼠标移出事件
$(this).removeClass("optnFocus"); //删除获取焦点时的样式
$(this).next("ul").hide(); //隐藏提示框
$("#sort").hide(); //隐藏提示箭头
})
$(".tip").mousemove( function() {
$(this).show(); //显示提示框
objL = $(this).prev("li"); //获取当前的上级li对象
setInitValue(objL); //设置当前位置
objL.addClass("optnFocus"); //增加上级li对象获取焦点时的样式
$("#sort").show().css({
"top": srtY,
"left": srtX
}); //显示并设置提示箭头的坐标
})
.mouseout( function() {
$(this).hide(); //隐藏提示框
$(this).prev("li").removeClass("optnFocus"); //删除获取焦点时的样式
$("#sort").hide(); //隐藏提示箭头
})
})
</script>
</head>
<body>
<ul>
<li class="menu">
<div>
<img alt="" src="icon.gif" />
<span>电脑数码类产品</span>
</div>
<ul class="content">
<li class="optn">
<a href="#">笔记本</a>
</li>
<ul class="tip">
<li>
<a href="#">笔记本1</a>
</li>
<li>
<a href="#">笔记本2</a>
</li>
<li>
<a href="#">笔记本3</a>
</li>
<li>
<a href="#">笔记本4</a>
</li>
<li>
<a href="#">笔记本5</a>
</li>
</ul>
<li class="optn">
<a href="#">移动硬盘</a>
</li>
<ul class="tip">
<li>
<a href="#">移动硬盘1</a>
</li>
<li>
<a href="#">移动硬盘2</a>
</li>
<li>
<a href="#">移动硬盘3</a>
</li>
<li>
<a href="#">移动硬盘4</a>
</li>
<li>
<a href="#">移动硬盘5</a>
</li>
</ul>
<li class="optn">
<a href="#">电脑软件</a>
</li>
<ul class="tip">
<li>
<a href="#">电脑软件1</a>
</li>
<li>
<a href="#">电脑软件2</a>
</li>
<li>
<a href="#">电脑软件3</a>
</li>
<li>
<a href="#">电脑软件4</a>
</li>
<li>
<a href="#">电脑软件5</a>
</li>
</ul>
<li class="optn">
<a href="#">数码产品</a>
</li>
<ul class="tip">
<li>
<a href="#">数码产品1</a>
</li>
<li>
<a href="#">数码产品2</a>
</li>
<li>
<a href="#">数码产品3</a>
</li>
<li>
<a href="#">数码产品4</a>
</li>
<li>
<a href="#">数码产品5</a>
</li>
</ul>
</ul>
<img id="sort" src="sort.gif" alt=""/>
</li>
</ul>
</body>
</html>
==============================================================================
本博客已经废弃,不在维护。新博客地址:http://wenchao.ren
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================
浙公网安备 33010602011771号