jQuery垂直菜单和水平菜单实现

1 创建VerticalAndhorizontalMenu.html文件

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <link href="VerticalAndhorizontalMenu.css" rel="stylesheet">
    <script src="jquery-1.11.2.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="VerticalAndhorizontalMenu.js"></script>
    <title>垂直或水平菜单</title>
</head>
<body>
<!--垂直菜单-->
<ul>
    <li class="vmain">
        <a href="#"> 垂直菜单1</a>
        <ul>
            <li><a href="#">子菜单1</a> </li>
            <li><a href="#">子菜单2</a> </li>
        </ul>
    </li>
    <li class="vmain">
        <a href="#"> 垂直菜单2</a>
        <ul>
            <li><a href="#">子菜单1</a> </li>
            <li><a href="#">子菜单2</a> </li>
        </ul>
    </li>
    <li class="vmain">
        <a href="#"> 垂直菜单3</a>
        <ul>
            <li><a href="#">子菜单1</a> </li>
            <li><a href="#">子菜单2</a> </li>
        </ul>
    </li>
</ul>
<!--水平菜单-->
<br>
<br>
<ul>
    <li class="hmain">
        <a href="#"> 垂直菜单1</a>
        <ul>
            <li><a href="#">子菜单1</a> </li>
            <li><a href="#">子菜单2</a> </li>
        </ul>
    </li>
    <li class="hmain">
        <a href="#"> 垂直菜单2</a>
        <ul>
            <li><a href="#">子菜单1</a> </li>
            <li><a href="#">子菜单2</a> </li>
        </ul>
    </li>
    <li class="hmain">
        <a href="#"> 垂直菜单3</a>
        <ul>
            <li><a href="#">子菜单1</a> </li>
            <li><a href="#">子菜单2</a> </li>
        </ul>
    </li>
</ul>
</body>
</html>

2 创建VerticalAndhorizontalMenu.css文件

ul,li{
    list-style: none;
}
ul{
    padding: 0;
    margin: 0;
}
.vmain{
    width: 150px;
    background-image: url("images/toptitle.gif");
    background-repeat: no-repeat;
    margin-bottom: 2px;
}
.hmain{
    width: 150px;
    background-image: url("images/toptitle.gif");
    background-repeat: no-repeat;
    margin-right: 2px;
    float: left;
}
a{
    text-decoration: none;
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 20px;
    display: block;
    width: 130px;
}
.vmain a,.hmain a{
    color: #ffffff;
    background-image: url("images/collapsed.gif");
    background-repeat: no-repeat;
    background-position: 3px center;
}
.vmain li a,.hmain li a{
    color: #000000;
    background-image: none;
    background-color: #eeeeee;
    border-bottom: 1px solid #dddddd;
}
.vmain li a:hover,.hmain li a:hover{
    background-image: url("images/linkarrow.gif");
    background-repeat: no-repeat;
    background-position: right center;
    background-color: #006666;
    color: #fff;
}
.vmain ul,.hmain ul{
    display: none;
}

3 创建VerticalAndhorizontalMenu.js文件

$(function(){
    $(".vmain>a").click(function(){
        var ulNode=$(this).next("ul");
        /*方法一*/
        if(ulNode.css("display")=="none"){
            ulNode.css("display","block");
            /*
             或:
             ulNode.show("normal");//数字(毫秒),fast,slow、normal和fast
             或:
             ulNode.slideDown();
             */
        }
        else{
            ulNode.css("display","none");
            /*
             或:
             ulNode.hide("normal");
             或:
             ulNode.slideUp();
             */
        }
        /*
         或方法二:
         ulNode.toggle("normal");//数字(毫秒),fast,slow、normal和fast
         或方法三:
         ulNode.slideToggle();
         */
    });
    $(".hmain").hover(function(){
        $(this).children("ul").slideDown("normal");
        changeIcon($(this).children("a"));
    },function(){
        $(this).children("ul").slideUp("normal");
        changeIcon($(this).children("a"));
    });
});
function changeIcon(mainNode){
    if(mainNode){
        if(mainNode.css("background-image").indexOf("collapsed.gif")>=0){
            mainNode.css("background-image","url(‘images/expanded.gif‘)");
        }else{
            mainNode.css("background-image","url(‘images/collapsed.gif‘)");
        }
    }
}

4、运行效果如下

时间: 2024-10-05 21:20:23

jQuery垂直菜单和水平菜单实现的相关文章

利用jQuery实现垂直菜单和水平菜单效果

1 利用jQuery实现垂直菜单 1.1 创建VerticalMenu.html文件,内容如下: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <link href="vertical.css" rel="stylesheet"> <script src="jquery-1

Jquery垂直下拉二级菜单

自己做了一个基于Jquery 的垂直下拉二级菜单功能,直接看图: Html的代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>垂直下拉菜单</title> <meta name="viewport" content="width=device-width, initial-scale=1"

基于jQuery垂直多级导航菜单代码

基于jQuery垂直多级导航菜单代码是一款黑色风格的jQuery竖直导航菜单特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <ul class="ce"> <li> <a class="xz" href="#">目录A</a> </li> <li> <a href="#">目录B <img class=&qu

jquery垂直展开折叠手风琴二级菜单

最近新开发一个简单项目,用到左侧两级的菜单.习惯性的去网上扒jquery手风琴效果,结果悲剧了好久…… 是该认认真真去学jquery,练习自己写动画效果了.从理解别人代码开始吧! 注:jquery-1.8.3.min.js需要下载文件放到同级名为js的文件夹里. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery垂直展开折叠手风琴效果</title> <s

垂直可伸缩的导航菜单实例代码

垂直可伸缩的导航菜单实例代码:可以伸缩的才会垂直导航菜单在网站中有大量的使用,为了节省空间,一般情况下,只有第一个菜单是展开的,其他都是折叠的,只有当点击其他主菜单的时候才会被展开,下面就通过实例代码来介绍一下如何实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="

8.2 自适应的斜角水平菜单

本案例中,制作一个带有斜角的水平菜单.依然和上例一样,它也是可以适应窗口宽度的,效果如图1所示. 该实例文件位于网页学习网CSS教程资源中的“第8章\01\cut-naiv.htm”. 图1 自适应的斜角水平菜单效果 一.基本思路 本案例的关键在于,如何制作出菜单项左上角这个斜角.如果有了上一章中制作“带箭头的菜单”的经验,掌握了使用“钩子“的方法,本案例的实现就很容易了.lodidance.com 对于每一个菜单项的a元素,放置一个span元素,设为corner类别,并作为CSS“钩子”,用于

使用jquery实现的多级树形菜单代码实例

使用jquery实现的多级树形菜单代码实例:树形菜单在网站中有大量的应用,这当然是因为它的独特优点,首先它可以有效的组织数据,使分类更为清晰明了,通常情况下树形菜单是可以折叠的,这样可以以更小的空间容纳更多的数据,下面就详细介绍一个使用jquery实现的属性菜单.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author&q

8.1 自适应的水平菜单

第7章中,介绍了5个竖直方向菜单的制作方法,相信读者可以体会到CSS的功能非常强大.在本章中,我们将制作6个水平排列的菜单.它们也同样各具特色,而且应用了一些CSS设计中非常重要的技术,例如“滑动门”技术.它不仅仅应用在这里,奉书后面的很多案例中,都会看到“滑动门”技术的应用. 这一节要实现一个简单的水平菜单.这个菜单可以随着浏览器窗口宽度的变化而改变排列方式.当测览器窗口宽度不足以容纳所有的菜单项的时候,会自动折行,如图8.1图所示. 该实例文件位于网页学习网CSS教程资源的“第8章\01\h

jquery实现的三级导航菜单实例代码

jquery实现的三级导航菜单实例代码:使用最多的可能是二级导航菜单,所以网上的代码一大堆,三级菜单的代码也很多,不过相对较少一些,本章节通过一个代码实例详细介绍一下三级导航菜单的实现过程,代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta nam