html 两个列表菜单,基于jQuery的简单的列表导航菜单

下面是我做的一个简单的导航菜单,因为是新手,难免有什么不对的地方,希望大家拍砖!

好了 开始进入正题吧:

1.首先定义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}

2.引用JQUERY的框架,大家可以去官网上下载最新的JQUERY,好像JQUERY1.5的版本都发布了,链接地址:http://jquery.com/

3.定义HTML标签:

4.接下来是定义最重要的JQUERY代码了:

$(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(); //隐藏提示箭头

})

})

5.好了,大功告成了......

运行的效果如下:

20110301235636783.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值