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

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

效果图:

设计历程:

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开发就是杂七杂八的东西往一块儿拼凑。随着后来的“盲人摸象”,现在有了逐渐清晰的认识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word和html互换,word与html互转(2) -- html转word

使用忠告使用该方式进行xhtml到word的转换, 简单转换是可以, 但是可能并没有想象中那么满意, 转换出来的word格式并不完美, 比如目录和标题都会丢失, 标题显示看起来一样, 但是是用正文加粗和加大字号来显示的. 毕竟word是一种文档格式, 而html是一种标记性语言, 要想实现完美兼…

2016年3月13日02:03:53

最近状态很糟糕,知道原因但是却又道不清说不明、、(也许一句话就可以说明了:毕业季) 自身存在太多太多问题了。 平时自己没怎么发现,在这一个多月的时间里,觉得自己完完全全变了一个人了,连我自…

arduino char*转string_Java 中 String 类的常用方法汇总

一、String 类的概念以及特性1、String 类的概念String 类代表字符串,在 java.lang 包中。字符串是常量 ,用双引号引起来表示。 它的值在创建之后不能更改 。由 0 或多个字符组成,可以变相的理解成是一个由字符组成的数组。2、String 类的特性…

airtest测试网页_Airtest

软件简介Airtest是一个跨平台的UI自动化测试框架,适用于游戏和App。目前支持Windows和Android平台,iOS支持正在开发中。Airtest提供了跨平台的API,包括安装应用、模拟输入、断言等。 基于图像识别技术定位UI元素,你无需嵌入任何代…

html中的ppt文字不清晰,HTML页面的文字布局与文字效果.ppt

无序列表是一种“项目符号列表”。其中的项目都带有项目符号前缀。该列表包含在无序列表标记.. 内。列表中的每个项目都使用列表标记进行标记,其中LI表示List Item(列表项)。关闭标记是可选的。 输出时每一清单条目缩进,并且以黑点标示 注意清单条目不需…

R文件丢失

1.xml中有错误 2.未选中自动生成 解决: 检查代码,删除更目录后再生成转载于:https://www.cnblogs.com/childyngy/p/5271579.html

python读取配置文件获取所有键值对_python读取配置文件

转载:https://my.oschina.net/u/3041656/blog/793467 配置文件作为一种可读性很好的格式,非常适用于存储程序中的配置数据。在每个配置文件中,配置数据会被分组(比如"config"和”cmd“).每个分组在其中指定对…

python调用numpy视频_Numpy的文件输入和输出使用

本课程讲解现在工业界和学术界流行的机器学习算法的相关知识,以及如何用python去实现这些算法。算法的讲解包括supervised learning(有监督式学习)和unsupervised learning(无监督式学习)两个部分。其中supervised learning包括classification(分类)和regression(回…

嵌入式软件工程师笔试题

1 . 用预处理指令 #define 声明一个常数,用以表明 1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 2 . 写一个 "标准"宏 MIN ,这个宏输入两个参数并返回较小的一个。 #define MIN(A,B)&…

盐城工学院计算机基础试卷,大学计算机基础及实用软件/大学计算机基础

spContent大学计算机基础及实用软件是人文学院、外语学院、经济学院和管理学院所有专业学生的必修基础课程之一,主要讨论计算机的发展、计算机系统及组成原理、掌握Windows7系统基本操作、熟练掌握Office 2010的基本操作、了解因特网基础与简单应用,本课…

如何用python写脚本_【按键教程】用python写脚本 另附垫材24与变奏22的实现

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 二、脚本中需要些什么 以PE10炮为例 #!/usr/bin/python #对mac/linux用户,可以点击脚本文件即运行 # -*- coding: utf-8 -*- #声明文字编码,在脚本用汉字时必备,全用英文也推荐写上 import thre…

河北体检系统诚信企业推荐_应用多的隔膜计量泵价格诚信企业推荐

应用多的隔膜计量泵价格诚信企业推荐无害化处理:经对标,注意药剂量可以适当降低,能降低药剂量的单位,反之降低。车用齿轮箱定位测量仪与计量泵计量无关,关键在于他们都是直线运动,动力输出的横轴主运动&…

CSS中position的4种定位详解

大家都知道,css中的position有4种取值,分别是static、fixed、relative、absolute。 详细解释: static:相当于没有定位,元素会出现在正常的文档流中。 fixed:元素框的表现类似于absolute,但是fix…

it计算机哪些专业术语,IT之家学院:笔记本电脑专业术语科普

IT之家网友现在为大家整理了一些在笔记本电脑商的专业术语解释,比如触摸屏、触摸板、指纹识别等具体涵义。触摸屏电阻式触摸屏是在强化玻璃表面分别涂上两层OTI 透明氧化金属电层,两层之间用细小的透明隔离点隔开。外层OTI涂层作导电体,内层O…

ideajava目录显示类成员_面试:C++不可继承类

作者:wxquare链接:https://www.cnblogs.com/wxquare/p/7280025.html面试中可能遇到让设计一个无法被继承的类。最简单的实现是将该类的构造函数设置为私有的,然后通过静态成员函数调用私有构造函数实例化对象,这样的类确实不可继承…

c++ 三维数组 初始化_013 JAVA 多维数组及数组的拷贝、冒泡排序、二分法查找...

1.多维数组多维数组的元素又是数组,可以有二维、三维、甚至更多维数组1.1二维数组的声明:数据类型 [][] new 数据类型[一维长度][二维长度]public class Test01 {public static void main(String[] args) {//一维数组的静态初始化 数据类型[] 数组名 …

js工具类

<tr><th>适用范围说明&#xff1a;</th><td colspan"5"> <textarea class"text" id"dtoinstrutcation" name"productScopeDTO.instrutcation" wrap"PHYSICAL" Null"true" rows"2…

自考计算机成绩,自考成绩计算机中是什么意思?

你说电脑是什么意思&#xff1f;计算机等级考试有两种&#xff0c;一种是全国高校计算机水平考试(CCT)&#xff0c;另一种是全国计算机等级考试(NCRE)。你对这两种测试了解多少&#xff1f;1什么是CCT&#xff1f;CCT的全称是“全国高校计算机水平考试”&#xff0c;让人感觉像…

httpservletrequest 设置请求头_请求和常用对象

## 一、主要内容![](https://raw.githubusercontent.com/Cushier/picture-java/master/middle/20190712150414.png)## 二、核心目标理解几个常用对象的意义和作用掌握几种请求的发出方式掌握数据的发送和接收方式掌握跳转方式掌握乱码的解决## 三、请求的方式要访问服务器首先需…

Jmeter文章索引贴

一、基础部分&#xff1a; 使用Jmeter进行http接口测试Jmeter之Http Cookie ManagerJmeter之HTTP Request DefaultsJmeter之逻辑控制器(Logic Controller)Jmeter属性和变量Jmeter组件执行顺序与作用域Jmeter参数化Jmeter关联Jmeter分布式测试Jmeter代理录制脚本Jmeter调试工具-…