在网页中,菜单扮演着“指路者”的角色。如何设计一个人性化的菜单呢,下面小编带着大家一起做。

效果图:

设计历程:

1.首先利用html中的

  • 标签进行嵌套,搭起一个整体的框架。如下图所示:

    Html代码:

    横纵向菜单

    • 菜单项1

      • 子菜单项11

      • 子菜单项12

    • 菜单项2

      • 子菜单项21

      • 子菜单项22

    • 菜单项3

      • 子菜单项31

      • 子菜单项32

    (这是展示的是纵向菜单的代码,横向代码亦是如此,只需更改一下class的名字,以便在设计样式时区别开。)

    2.上面的两幅图形成鲜明的对比,用户理所应当选择前者了,接下来我们就给框架“穿”件衣服。

    CSS代码:

    ul,li{

    /*清除ul和li前默认的小圆点*/

    list-style:none;

    }

    ul{

    /*清除子菜单的缩进值*/

    padding:0;

    margin:0;

    }

    .main,.hmain{

    /*  菜单项的背景是一小块图片平移重复构成的,看起来有立体感

    */  background-image:url(../image/title.gif);

    background-repeat:repeat-x;

    width:120px;

    }

    li{

    /*  设置背景颜色,菜单项的背景图片覆盖背景颜色

    */  background-color:#CCC;

    }

    a{

    /*取消所有链接的下划线*/

    text-decoration:none;

    /*  让a充满整个区域,鼠标点击的那行一直是手形

    */  display:block;

    display:inline-block;

    width:100px;

    padding-left:20px;

    padding-top:3px;

    padding-bottom:3px;

    }

    .main a,.hmain a{

    /*  设置菜单项的字体颜色

    */  color:white;

    /*在菜单项前添加向右指的图片

    */  background-image:url(../image/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-right:1px;

    }*/

    注:“main”—纵向   “hmain”—横向

    3.菜单的表面工作完成了,它不是摆在那里给人看的,需要和用户进行交互,实现一些动态效果。当我们点击菜单项时,首先鼠标箭头变为手形,点击后下面隐藏的子菜单项会显示出来,同时指向右的箭头变为指向下方。再点击菜单项时,子菜单项隐藏,同时更换箭头图片。

    JavaScript就是赋予网页生命力的大神,而jQuery则是一个兼容多浏览器的javascript库,有了它使得javascript写得更少,做得更多。引用了jquery库后,编写如下代码:

    javascript代码:

    $(document).ready(function() {

    //纵向菜单

    $(".main > a").click(function(){

    var ulNode=$(this).next("ul");

    ulNode.slideToggle();

    changeIcon($(this));

    });

    //横向菜单

    $(".hmain").hover(function(){

    $(this).children("ul").slideDown();

    changeIcon($(this).children("a"));

    },function(){

    $(this).children("ul").slideUp();

    changeIcon($(this).children("a"));

    });

    });

    /*修改主菜单的指示图标*/

    function changeIcon(mainNode){

    if(mainNode){

    if(mainNode.css("background-image").indexOf("collapsed.gif")>=0){

    mainNode.css("background-image","url('image/expanded.gif')");

    }else{

    mainNode.css("background-image","url('image/collapsed.gif')");

    }

    }

    }

    至此,两个菜单设计完成了,是不是很有成就感呢!

    纵观全局,html是躯体,css是衣服,js则是灵魂。三者的配合,构成了一个个鲜活灵动的网页。记得最初照着视频敲牛腩新闻发布系统的时候,觉得B/S开发就是杂七杂八的东西往一块儿拼凑。随着后来的“盲人摸象”,现在有了逐渐清晰的认识。

jquery 树形框 横_利用jQuery设计横/纵向菜单相关推荐

  1. jquery.form 异步校验_利用jQuery.validate异步验证用户名是否存在

    HTML头部引用: HTML内容(部分): 用户名: JS代码部分: $(function() { //表单验证JS $("#form1").validate({ //出错时添加的 ...

  2. jquerymp3文件下载_利用jQuery实现MP3播放器插件

    特效描述:利用jQuery实现 MP3播放器.利用jQuery实现MP3播放器插件 代码结构 1. HTML代码 codebase="http://download.macromedia.c ...

  3. jquery检测input变化_检测jQuery中的输入变化?

    翻过高山走不出你 更新以作澄清和举例例子:http://jsfiddle.net/pxfunc/5kpeJ/方法1.input事件在现代浏览器中,使用input事件.当用户在文本字段中键入.粘贴.撤消 ...

  4. jquery滚动条平滑滚动_使用jQuery平滑垂直或水平页面滚动

    jquery滚动条平滑滚动 View demo 查看演示Download Source 下载源 In this tutorial we will create a simple smooth scro ...

  5. hfss螺旋平面_利用HFSS设计平面等角螺旋天线

    - 73 - 利用 HFSS 设计平面等角螺旋天线 杜起飞 北京理工大学电子工程系 100081 摘要:本文介绍了一种双臂平面等角螺旋天线的设计过程,利用 ANSOFT HFSS 对其结构进行了建 模 ...

  6. 单例模式访问mysql设计类图_利用单例模式设计数据库连接Model类

    之前在<[php]利用php的构造函数与析构函数编写Mysql数据库查询类>(点击打开链接)写过的Mysql数据库查询类还不够完美,利用<[Java]单例模式>(点击打开链接) ...

  7. java完成一个学生信息调查程序_利用Java设计一个简单的学生信息管理程序

    利用Java设计一个简单的控制台学生信息管理程序 此程序可作为课设的参考,其中信息存储于文件中. 创建了学生类Student,用于存储学号等的信息.创建StudentFunction类,用于实现诸如学 ...

  8. hfss螺旋平面_利用HFSS设计平面等角螺旋天线.pdf

    利用HFSS设计平面等角螺旋天线 Ansoft2004 年用户通讯 - 73 - 利用 HFSS 设计平面等角螺旋天线 杜起飞 北京理工大学电子工程系 100081 摘要:本文介绍了一种双臂平面等角螺 ...

  9. jquery 磁铁模式控件_利用JQuery拖拽插件实现拖拽效果

    asp教程x.cs" inherits="jquerydrag._default" %> $(document).ready(function() { //拖拽方法 ...

最新文章

  1. web高性能开发系列随笔
  2. flask url构建_如何为生产构建构建Flask-RESTPlus Web服务
  3. 找字符串中第一个只出现一次的字符
  4. cad怎么设置线的粗细_CAD软件中怎么设置CAD线宽?
  5. 如何做科研20171206
  6. python eval简介
  7. java对焦_相机的对焦与合焦
  8. linux python2.7 mssqlserver_连接到linux上的MSSQL Server 2008
  9. 大数据之-Hadoop3.x_Hadoop_HDFS_掉线时限参数设置---大数据之hadoop3.x工作笔记0079
  10. Tomcat配置Basic认证方案(一)
  11. 06.Python网络爬虫之requests模块(2)
  12. Appium移动自动化测试-----(一)Appium介绍
  13. Windows 8和CentOS 6.4(64)双系统硬盘安装教程
  14. codeblocks下载安装教程
  15. Ipython安装错误集锦
  16. LaTex下载与安装教程
  17. 成绩录取系统c语言,一个学生成绩管系统C语言源代码.doc
  18. 用 Python 分析《红楼梦》(2)
  19. AndroidUI和交互整理集合
  20. 计算机硬盘一只闪烁,硬盘灯一直亮,小编教你电脑硬盘指示灯一直亮怎么办

热门文章

  1. Java Object类详解
  2. Jsoup根据URL加载一个Document
  3. python计算排队时间_Python(pdb)-排队执行命令
  4. C++ PAT 乙级 1007——素数对猜想
  5. php pdo 关闭,php pdo预处理
  6. berkeley db java edition 源码,Berkeley DB Java Edition
  7. java 关注公众号没有调接口_深入理解Java继承、封装、多态的实现原理
  8. Qt 二级菜单无法输入中文
  9. 如何巧妙的申请换部门_如何设置户外广告?市城管局局长体验户外广告审批流程...
  10. Python pytest框架之@pytest.fixture()和conftest详解