第二十七篇 导航栏和内容块
来源:互联网 发布:js split("") 编辑:程序博客网 时间:2024/06/07 07:16
导航栏和内容块
上节课留下了一个小练习:
老师做了一份,但是没有图片图标,所以代码里没有用到 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文件的引用和路径
阅读全文
0 0
- 第二十七篇 导航栏和内容块
- <css 十七>导航栏
- 导航栏,设置块对象
- 修改导航栏内容
- 第二十七篇:cascade.detectMultiScal函数说明
- Linux学习第二十七篇--脚本的条件判断和循环
- 第二十七篇:JAVA多线程机制之暂停、恢复和停止
- 第二十七篇:JAVA添加托盘图标和托盘弹出式菜单
- 速动画教程第二十七集 SVN的安装和配置
- MYSQL必知必会读书笔记 第二十七章 字符集和校对规则
- hidesBottomBarWhenPushed导航栏右上角黑块
- 数据块的内容和参数
- 用人第二十七
- hiho第二十七周
- 第二十七套
- 第二十七节JSP
- Ionic Js的导航和内容
- 第二十七篇:QQ好友列表,UITableViewHeaderFooterView用法
- 数据结构基础入门(一)
- 《快彩网》彩票php源码 使用thinkphp框架开发
- 如何优化你网站的全名
- android 6.0 动态权限处理
- 面试题记录
- 第二十七篇 导航栏和内容块
- 明星主页页面制作
- 分油问题
- 漏洞SSH Weak Algorithms Supported简析
- 对象操作
- spark中通过jdbc读取和存储数据
- rpm 命令查询已安装软件
- 求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。 例如:2+22+222+2222+22222(n=5),n由键盘输入
- 20个很有用的CSS技巧