Jquery实战——横纵向的菜单

  横纵向的菜单效果,点击纵向菜单显示其子菜单。鼠标指向横菜单的时候,显示其子菜单,鼠标离开,子菜单隐藏。

  HTML代码:

<span style="font-size:18px;"><!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>横纵向的菜单</title>
    <link href="css/menu.css" rel="stylesheet" />
    <script src="js/JQuery.js"></script>
    <script src="js/menu.js"></script>
</head>
<body>
    <ul>
        <li class="main"><a href="#">菜单项1</a>
            <ul>
                <li><a href="#">菜单项11</a></li>
                <li><a href="#">菜单项12</a></li>
            </ul>
        </li>
        <li class="main"><a href="#">菜单项2</a>
            <ul>
                <li><a href='#'>菜单项21</a></li>
                <li><a href="#">菜单项22</a></li>
            </ul>
        </li>
        <li class="main"><a href="#">菜单项3</a>
            <ul>
                <li><a href="#">菜单项31</a></li>
                <li><a href="#">菜单项32</a></li>
            </ul>
        </li>
    </ul>
    <br />
    <br />
    <br />

     <ul>
        <li class="hmain"><a href="#">菜单项1</a>
            <ul>
                <li><a href="#">菜单项11</a></li>
                <li><a href="#">菜单项12</a></li>
            </ul>
        </li>
        <li class="hmain"><a href="#">菜单项2</a>
            <ul>
                <li><a href='#'>菜单项21</a></li>
                <li><a href="#">菜单项22</a></li>
            </ul>
        </li>
        <li class="hmain"><a href="#">菜单项3</a>
            <ul>
                <li><a href="#">菜单项31</a></li>
                <li><a href="#">菜单项32</a></li>
            </ul>
        </li>
    </ul>
</body>
</html>
</span>

  CSS代码:

<span style="font-size:18px;">body {
}
ul,li{
    /*清除菜单前面的点和圈*/
    list-style:none;

}
ul {
    padding:0;
    margin:0;
}
.main ,.hmain {
    background-image:url(../images/title.gif);
    background-repeat:repeat-x;
    width:100px;
}
li{
    background-color:#999;
}
a{
    /*取消所有的下划线*/
       text-decoration:none;
       padding-left:15px;
       display:block ;   /*让a标签充满这个区域*/
       /*针对IE6*/
       display:inline-block;
       width:85px;
       padding-top:3px;
       padding-bottom:3px;
}
.main a , .hmain a{
    color:white;
    background-image:url(../images/collapsed.gif);
    background-repeat:no-repeat;
    background-position:3px center;
}
.main li a, .hmain li a {
    color:black;
    background-image:none;
}
.main ul , .hmain ul{
    display:none;
}
.hmain{
    float:left;
    margin-left:1px;
}</span>

  JQuery代码:

<span style="font-size:18px;">$(function () {
    $(".main > a , .hmain > a").click(function () {
        //找到主菜单对应的子菜单
        var ulNode = $(this).next("ul");
        //if (ulNode.css("display") == "none") {
        //     ulNode.css("display", "block");
        //} else {
        //    ulNode.css("display", "none");
        //}

        //ulNode.show("normal");//slow, fast, 500
        //ulNode.hide();
        //ulNode.toggle();//显示和隐藏,自动判断

        //ulNode.slideDown("slow");//显示
        //ulNode.slideUp();//隐藏

        ulNode.slideToggle();
        changeIcon($(this));
    });

    $(".hmain").hover(function () {
        $(this).children("ul").show("fast");
        changeIcon($(this).children("a"));
    }, function () {
        $(this).children("ul").hide("fast");
        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)");
        }
    }

}</span>

1.HTML总结:

1.页面中的菜单项可以通过嵌套ul和li来表示

2.CSS总结:

1.list-style属性为none时可以清除ul和li前面的小圆点

2.可以使用background-repeat来控制背景图的重复填充方式

3. text-decoration属性值为none时,可以取消文字上的下划线

4,.display的值为none可以用于隐藏元素

3.JQuery总结:

1.  .main a 和 .main >a不同之处是,前者选择使用了.main的这个class的元素内部的所有的a节点,后者只选择了.main的子节点中的a节点

2.  show,hide方法可以用于显示或隐藏元素,,没有参数时的效果和修改CSS的display属性效果一样。参数可以是单位为毫秒的数字,或者是‘slow’,‘normal’,‘fast’这三个文字都可以来控制完成显示或隐藏需要的时间。

3.toggle方法更为强大,可以省去判断元素是显示还是隐藏的状态,可以让显示的元素隐藏起来,可以让隐藏的元素显示出来,参数使用方法和show,hide相同。

时间: 2024-10-10 00:24:27

Jquery实战——横纵向的菜单的相关文章

利用jQuery设计横/纵向菜单

在网页中,菜单扮演着"指路者"的角色.怎样设计一个人性化的菜单呢.以下小编带着大家一起做. 效果图: 设计历程: 1.首先利用html中的<ul>和<li>标签进行嵌套,搭起一个总体的框架.例如以下图所看到的: Html代码: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title&

小谷实战Jquery(三)--横向纵向菜单

每天一个实例看来速率有点低了,今天要多做一点.好了,这次实现的是一个简单的菜单,Web项目中常见的菜单有两种:纵向和横向.从纵向说起,看一下最初的代码. html代码实现最基本的菜单与子菜单 <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD

【JQuery】——横向纵向下拉菜单

在学习jQuery的过程中,遇到项目中最常用到的下拉菜单,本着高效的原则,在此总结一下横向和纵向下拉菜单的实现效果,形成自己的小类库,以便自己在项目过程中能够方便的调用. HTML部分: 引用menu.css.jquery.js(已经封装好的)和menu.js文件 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&quo

jQuery实战4:标签页效果

今天我们来完成<jQuery实战>系列的标签页效果.先来看一看效果图 这里有两部分的内容,上面是一个标签页的效果,下面也是一个标签页的效果.在实际应用中也经常会见到标签页的效果,它的作用主要是在页面可视区有限的情况下展示更多的内容.当用户想看其他内容的时候不需要离开页面,只需要把鼠标移动到某一个标签上就可以看到这个标签里面所对应的内容.门户网站的首页,有很多频道都是标签页的最佳案例,如体育.财经.军事等模块都是位于不同的标签上.上边的标签页一般称为滑动门技术,下面的内容是一次性加载进来,鼠标移

JQuery实战---窗口效果

在前面的相关博文中,小编对jquery的相关知识进行了简单的总结,关于jquery的很多小的知识点,都需要我们自己去动手和实践,一行行代码都需要我们自己亲自动手去敲,今天我们继续来学习jquery的相关小例子,今天我们这个小例子是关于窗口的弹出效果,相关源码,小编已经上传,有需要的小伙伴可以点击进行下载哦,希望可以帮助到有需要的小伙伴哦,接着,我们就开始小例子的学习,首先,我们来看一下最终的效果图,如下所示: 这个窗口效果的小例子,既不会被拦窗而且更加的灵活, 接着,我们来看一下这个小例子的整体

jQuery实战的常用功能

最近看了<jQuery实战第二版>有所得,写下这篇随笔,这篇随笔主要介绍jQuery中的常用功能. jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多).jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发.如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网

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

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

JQuery实战---初识JQuery+入门实例

JQuery在小编的世界中,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库,百度百科对JQuery的介绍比较详细,小伙伴可以东东自己可耐的小爪子,上网进行搜索,说不定,有意外惊喜哦,今天这篇博客,小编简单的介绍一下JQuery的一些基本知识,然后小编在集合实例,讲解一下在具体的应用过程中,我们的JQuery又是如何在她的舞台熠熠生辉...... 通过JQuery的学习,我们可以学到哪些知识nie,比如我们会学会JQuery的API函数的使用,以及简单的实例的

web标准(复习)--4 纵向导航菜单及二级弹出菜单

今天我们开始学习纵向导航菜单及二级弹出菜单,包含以下内容和知识点: 纵向列表 标签的默认样式 css派生选择器 css选择器的分组 纵向二级列表 相对定位和绝对定位 一.纵向列表纵向列表或称为纵向导航,在网站的产品列表中应用比较广泛,如淘宝网左侧的淘宝服务,今天我们就学习一下纵向导航的制作 先新建一个页面,然后插入一个ID为menu的div,然后在设计视图中选中文字,点击工具栏的ul图标,即会自动插入ul和li,然后修改文字内容为你需要的内容. <style type="text/css&