Jquery ul下拉框效果

  html select下拉框样式在网站开发时很难控制,网上找的模仿下拉框效果代码太长而且和Jquery有这严重的冲突,于是自己写了一个ul下拉框效果,代码很短也很简单。

 

  select.htm

<!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>
    <link href="Css/DropDownStyle.css" rel="stylesheet" type="text/css" />
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="Js/DropDown.js" type="text/javascript"></script>
</head>
<body>
 <ul id="uboxstyle" style=" float:left; margin-top:6px; position:relative;">
              <li class="uboxstyle_Selected">查商品</li>
              <li class="uboxstyle5">查商品</li>
              <li class="uboxstyle5">查商家</li>
              <li class="uboxstyle5">查服务</li>
              <li class="uboxstyle4">查人员</li>
              </ul>
</body>
</html>

 

 

  DropDown.js

/// <reference path="../Scripts/jquery-1.4.1-vsdoc.js" />

 

//缺少鼠标离开,下拉框自动合拢写法

//搜索下列
$(function () {
    li_hide();
    //鼠标移到移开交替显示
    $("#uboxstyle>li").first().hover(function () {
        DropDownStyle($(this), "uboxstyle_Selecting");
    }, function () {
        DropDownStyle($(this), "uboxstyle_Selected");
    });

    //展开下拉控件的样式
    $("#uboxstyle>li").first().click(function () {
        DropDownStyle($(this), "uboxstyle_Select");
        li_ctrl();
    });

    //在下拉控件中操作
    $("#uboxstyle>li").each(function () {
        if ($("#uboxstyle>li").index($(this)) > 0) {
            //鼠标移动
            $(this).hover(function () {
                DropDownStyle($(this), "uboxstyle6");
            }, function () {
                DropDownStyle($(this), "uboxstyle5");
            });
            //鼠标点击
            $(this).click(function () {
                $("#uboxstyle>li:eq(0)").html($(this).html());
                li_hide();
            });
        }
    });

    //为控件设置样式
    function DropDownStyle($ctrl, styleName) {
        $ctrl.attr("className", styleName);
    }

    //显示
    function li_hide() {
        $("#uboxstyle>li:gt(0)").hide();
    }

    //控制显示隐藏
    function li_ctrl() {
        if ($("#uboxstyle>li:eq(1)").is(":hidden")) {
            li_show();
        }
        else {
            li_hide();
            DropDownStyle($("#uboxstyle>li:eq(0)"), "uboxstyle_Selecting");
        }
    }

    //隐藏
    function li_show() {
        $("#uboxstyle>li:gt(0)").show();
    }
});

 

  DropDownStyle.css

body
{
    padding:0px;
    margin:0px;
}

 

/* 选项卡搜索 开始*/
#uboxstyle{width:118px; height:30px}
.uboxstyle_Selected{
    display:block;
    color:#447004;
    width:98px;
    height:30px;
    padding:0px 10px;
    line-height:30px;
    background-color: transparent;
    background-image: url(../Images/home_search1.gif);
    background-repeat: no-repeat;
    background-position: 0 0;
     text-align:center;
     line-height:30px;
     cursor:hand;
}
.uboxstyle_Selecting{
    display:block;
    color:#447004;
    width:98px;
    height:30px;
    padding:0px 10px;
    line-height:30px;
    font-size:14px;
    background-color: transparent;
    background-image: url(../Images/home_search1.gif);
    background-repeat: no-repeat;
    background-position: 0px -30px;
     text-align:center;
     line-height:30px;
     cursor:hand;
}
.uboxstyle_Select{
    display:block;
    color:#447004;
    width:98px;
    padding:0 10px;
    line-height:30px;
    font-size:14px;
    background-image: url(../Images/home_search1.gif);
    background-repeat: no-repeat;
    background-position: 0 0;
     text-align:center;
     line-height:30px;
}

.uboxstyle5:hover {
    display:block;
    width:96px;
    height:30px;
    padding:0 10px;
    text-decoration:none;
    line-height:30px;
    font-size:14px;
    color:#FFF;
    background-color: #88C302;
    text-align:center;
    line-height:30px;
    cursor:hand;
    border-right-width: 1px;
    border-left-width: 1px;
    border-right-style: solid;
    border-left-style: solid;
    border-right-color: #d0d0d0;
    border-left-color: #d0d0d0;
}
.uboxstyle4{
    display:block;
    width:116px;
    height:30px;
    text-decoration:none;
    line-height:30px;
    font-size:14px;
    color:#447004;
    background-color: #ffffff;
    text-align:center;
    line-height:30px;
    cursor:hand;
    border-right-width: 1px;
    border-left-width: 1px;
    border-right-style: solid;
    border-left-style: solid;
    border-right-color: #d0d0d0;
    border-left-color: #d0d0d0;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #d0d0d0;
}

.uboxstyle4:hover {
    display:block;
    width:96px;
    height:30px;
    padding:0 10px;
    text-decoration:none;
    line-height:30px;
    font-size:14px;
    color:#FFF;
    background-color: #88C302;
    text-align:center;
    line-height:30px;
    cursor:hand;
    border-right-width: 1px;
    border-left-width: 1px;
    border-right-style: solid;
    border-left-style: solid;
    border-right-color: #d0d0d0;
    border-left-color: #d0d0d0;
}
.uboxstyle5{
    display:block;
    width:96px;
    height:30px;
    padding:0 10px;
    text-decoration:none;
    line-height:30px;
    font-size:14px;
    color:#447004;
    background-color: #ffffff;
    text-align:center;
    line-height:30px;
    cursor:hand;
    border-right-width: 1px;
    border-left-width: 1px;
    border-right-style: solid;
    border-left-style: solid;
    border-right-color: #d0d0d0;
    border-left-color: #d0d0d0;
}
.uboxstyle6{
    color:#ffffff;
    background-color: transparent;
    background-image: url(../Images/home_search1.gif);
    background-repeat: no-repeat;
        background-position: 0px -90px;
     width:118px;
     height:30px;
     text-align:center;
     line-height:32px;
     cursor:hand;
}
.uboxstyle7{
    background-image: url(../Images/home_search1.gif);
    background-repeat: no-repeat;
        background-position: 0px -120px;
    color:#fff
}

/* 选项卡搜索 结束*/

 

不足地方:

  1样式是从网上找加上一部分美工修改,但部分样式是没用的

  2当鼠标离开ul,下拉框无法合拢,试了许多方法也没法解决,等待高手帮助

posted @ 2010-12-30 22:38  静至  阅读(12273)  评论(4编辑  收藏  举报