第二十七篇 导航栏和内容块

导航栏和内容块

 

上节课留下了一个小练习:

 

老师做了一份,但是没有图片图标,所以代码里没有用到 img 标签。
在写之前,我们要分析吧,这个页面,难度只有左侧的导航栏。因为动态!
我们可以用到jQuery的mouseover()移入方法 和 mouseout()移出方法,还有click()点击方法,点击一级菜单,弹出二级菜单,老师用的是slideToggle()方法,jQuery特效效果,滑动效果。
好啦,光说怎么好学?我们看代码:
 
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>综合之前的知识,写一个动态页面</title>
    <!--使用jQuery一定不要忘记引用jQuery文件-->
    <script src="../js/jquery-1.12.2.min.js"></script>
    <style>
        html,body{height: 100%;margin: 0;}
        #div0{
            /*给最外层div宽度,然后居中显示*/
            width: 1360px;
            margin: 0 auto;
            height: 100%;
        }
        #left{
            height: 100%;
            position: fixed;
            float: left;
            background-color: #393D49;
            width: 15%;
            color:#d9d9d9;
            padding:0 10px;
        }
        .rit{
            float: right;
        }
        .f1{
            font-size: 21px;
        }
        .dd{
            padding: 10px 0;
        }
        .f2{
            display: none;
        }
        .f3{
            padding:10px 0 10px 30px;
            font-size:17px;
        }
        .a{
            background-color: #000;
            color:#fff;
            font-weight: 700;
        }
        .b{
            background-color: #009688;
            color:#fff;
            cursor: pointer;
        }
        #center{
            float: right;
            width: 83%;
        }
        #c1{
            float: left;
            width: 100%;
            margin-top: 20px;
            padding-bottom:10px;
            border-bottom:1px solid #dedede;
        }
        #a1{
            float: left;
            background-color: #1AA094;
            color:#fff;
            padding:10px;
            text-decoration: none;
            font-size: 12px;
        }
        #f1{
            float: right;
        }
        #f1 span{
            font-size: 14px;
            border: 1px solid #dedede;
            font-weight: 700;
            background-color: #FBFBFB;
            padding:5px 15px;
        }
        #g{
            font-size: 15px;
            border: 1px solid #dedede;
            padding:3px 15px 4px 15px;
            margin-left: -9px;
        }
        #su{
            color:#fff;
            background-color: #1AA094;
            border: 1px solid #dedede;
            margin-left: -5px;
            padding:6px 7px 5px 7px;
        }
        #ta{
            float: left;
            width: 100%;
            margin-top:20px;
        }
        #ta th{
            background-color: #F2F2F2;
            border: 1px solid #dedede;
        }
        td{
            border: 1px solid #dedede;
            text-align: center;
        }
    </style>
</head>
<body>
<!--给一个最外层div控制宽度,考虑到各位同学和老师电脑分辨率不一样,就演示一下1360px宽度-->
<div id="div0">
    <div style="float:left;width: 100%;height: 100%;">
        <!--这个left div,是左侧导航栏。-->
        <div id="left">
            <!--class="f1" 的都是一级菜单-->
            <div class="f1">
                <div class="dd">
                    系统配置
                    <span class="rit"></span>
                </div>
            </div>
            <!--class="f2" 的都是二级菜单-->
            <div class="f2">
                <!--二级菜单里,划分-->
                <div class="f3">葫芦娃</div>
                <div class="f3">西游记</div>
                <div class="f3">三国</div>
            </div>
            <div class="f1">
                <div class="dd">
                    菜单配置
                    <span class="rit"></span>
                </div>
            </div>
            <div class="f2">
                <div class="f3">左导航栏</div>
                <div class="f3">顶导航栏</div>
            </div>
            <div class="f1">
                <div class="dd">
                    内容管理
                    <span class="rit"></span>
                </div>
            </div>
            <div class="f2">
                <div class="f3">文章管理</div>
                <div class="f3">评论管理</div>
            </div>
            <div class="f1">
                <div class="dd">
                    用户管理
                    <span class="rit"></span>
                </div>
            </div>
            <div class="f2">
                <div class="f3">普通用户</div>
                <div class="f3">管理员</div>
                <div class="f3">权限组</div>
                <div class="f3">会员等级</div>
            </div>
            <div class="f1">
                <div class="dd">
                    记录管理
                    <span class="rit"></span>
                </div>
            </div>
            <div class="f2">
                <div class="f3">聊天记录</div>
                <div class="f3">登录记录</div>
                <div class="f3">交易记录</div>
            </div>
            <div class="f1">
                <div class="dd">
                    扩展管理
                    <span class="rit"></span>
                </div>
            </div>
            <div class="f2">
                <div class="f3">钩子</div>
                <div class="f3">插件</div>
            </div>
        </div>
        <!--以上是左侧导航栏-->
        <!--以下是中间内容部分-->
        <div id="center">
            <div id="c1">
                <a id="a1" href="javascript:;">添加用户</a>
                <form id="f1" action="#" method="post">
                    <span>关键字</span>
                    <input id="g" type="text" placeholder="请输入关键字"/>
                    <input id="su" type="submit" value="搜索"/>
                </form>
            </div>
            <table cellspacing="0" id="ta">
                <tr>
                    <th>ID</th>
                    <th>用户名</th>
                    <th>手机</th>
                    <th>邮箱</th>
                    <th>状态</th>
                    <th>创建时间</th>
                    <th>最后登录时间</th>
                    <th>最后登录IP</th>
                    <th>操作</th>
                </tr>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                    <td>4</td>
                    <td>5</td>
                    <td>6</td>
                    <td>7</td>
                    <td>8</td>
                    <td>9</td>
                </tr>
            </table>
        </div>
        <!--以上是中间内容部分-->
    </div>
</div>
<!--以下是写 js -->
<script>
    var a = $(".f1"); //将此类传给我们声明的a来控制
    //鼠标移入一级菜单,添加类
    a.mouseover(function (){
        //addClass()方法是添加此类
        $(this).children(".dd").addClass("a");
    });
    //鼠标移入一级菜单,删除类
    a.mouseout(function (){
        //removeClass()方法是删除此类
        $(this).children(".dd").removeClass("a");
    });
    //鼠标点击一级菜单,弹出相应的二级菜单
    a.click(function (){
        //先隐藏所有二级菜单并且改变后面的内容
        a.next().slideUp();
        a.find(".rit").text('');
        //判断它的内容,然后做出修改
        if($(this).find(".rit").text() == ''){
            $(this).find(".rit").text('');
        }
        else{
            $(this).find(".rit").text('');
        }
        //现在当前一级菜单下面的二级,使用的是滑动效果 取反向
        $(this).next().slideToggle();
    });

    //以下是二级菜单的 样式
    var b =$(".f3");//将此类传给我们声明的b来控制
    //移入时候,增加样式
    b.mouseover(function (){
        $(this).addClass("b");
    });
    //移出时候,删除样式
    b.mouseout(function (){
        $(this).removeClass("b");
    });

</script>
</body>
</html>

 

260行左右的代码,如果我们使用外部css和js,那么html页面的代码就会减少很多。因为老师是演示,就不躲躲藏藏的,就全写在页面上。 同学们重点注意看,左侧导航栏,一级菜单和二级菜单的关系。
 
老师用到的是jQuery,同学们如果直接copy过去,主要jQuery文件的引用和路径
 
 

第二十七篇 导航栏和内容块

posted on 2017-09-26 15:44  幸享龙枫  阅读(328)  评论(0编辑  收藏  举报

导航