【JavaScript 11—应用总结】:下拉菜单
导读:在web页面的显示中,总是免不了下拉菜单的设置。怎样将菜单设置的更好玩一点呢?这次,就将实现一个下拉菜单的制作。当鼠标移入的时候,菜单显示,鼠标移走,菜单关闭。
一、实现分析
首先,制作一个下拉菜单,需要通过CSS先构建出一个菜单的基本样式,包括它的边框、显示文字、图片、图标等。这些都是通过CSS设置好。
其次,写入一个鼠标移入移出的方法,当鼠标移入的时候,菜单显示(方法);当鼠标移走的时候,菜单隐藏(方法)。
然后,需要写入一个对于Id、class等的获取方法,方便我们快速的从div中获取到我们需要的东西,从而利用鼠标的移入移出进行菜单的设置。
最后,还可以加上一个CSS的添加方法,比如说在这里,可以通过CSS的添加方法,将个人中心的背景小图标设置一下。当下拉菜单显示时,三角向下;反之则向上。
备注:准备自己喜欢的图标,比如在这里,我选择的未选中时的小锁,和选中时的小圆圈。
附:效果图
二、具体实现
2.1,HTML编写(主要)
- <span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;"> <div id="header">
- <div class="logo"><img src="Imageblog.gif" alt="" /></div>
- <div class="member" >个人中心
- <ul >
- <li><a href="###">设置</a></li>
- <li><a href="###">换肤</a></li>
- <li><a href="###">帮助</a></li>
- <li><a href="###">退出</a></li>
- </ul>
- </div>
- </div></span></span>
注:这里用到的主要是个人中心的div下面的东西,上一个则是整体的一个logo显示,这里不予以说明。
2.2,CSS样式(主要)
- <span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">/* 设置下拉菜单的位置 */
- ul{
- padding:0;
- margin:0;
- }
- /* 去掉前面的小圆点 */
- ul li{
- list-style-type:none;
- }
- /* 设置个人中心的样式 */
- #header .member{
- width:110px;
- height:38px;
- float:right;
- background: url(Imagedown.png)no-repeat 80px center;/* 右边的小图标 */
- line-height:38px ;
- cursor:pointer;/* 当鼠标移入时,小手图标 */
- color:red;
- position:relative;/* 设置相对位置*/
- }
- /* 设置下拉菜单的边框样式 */
- #header ul{
- position:absolute;
- right:0px;
- background:#FBF7E1;
- width:110px;
- height:120px;
- border:2px solid gray;
- border-top:none;
- padding:3px 0 0 0;
- float:right;
- display:none;/* 不显示下拉菜单 */
- }
- /* 设置菜单文字样式 */
- #header ul li{
- height:30px;
- line-height:30px;
- text-indent:25px;
- letter-spacing:1px;
- }
- /* 设置超链接显示样式 */
- #header ul li a{
- text-decoration:none;
- color:#333;
- display:block;
- background:url(Image2.png) no-repeat left center;
- }
- /* 设置超链接移入样式 */
- #header ul li a:hover{
- background:#fc0 url(Image3.png) no-repeat left center;
- } </span></span>
2.3,鼠标移入移出
- <span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">//设置鼠标移入移出事件
- Base.prototype.hover=function(over,out){
- for(var i=0;i<this.elements.length;i++){
- this.elements[i].onmouseover=over;
- this.elements[i].onmouseout=out;
- }
- return this;
- }
- //设置显示
- Base.prototype.show=function(){
- for(var i=0;i<this.elements.length;i++){
- this.elements[i].style.display="block";
- }
- return this;
- }
- //设置隐藏
- Base.prototype.hide=function(){
- for(var i=0;i<this.elements.length;i++){
- this.elements[i].style.display="none";
- }
- return this;
- }</span></span>
2.4,添加CSS方法
获取节点的操作,在前面已经通过连缀的时候说过了,这里就不说了。这里添加一个CSS方法,这样我们就可以直接在用的时候添加一些简单的CSS设置,而不用去到CSS文件中修改了。(对于一些简单的操作)
- <span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">Base.prototype.css=function(attr,value){
- for(var i=0;i<this.elements.length;i++){
- if(arguments.length==0){
- if(typeof window.getComputedStyle !="undefined"){
- return window.getComputedStyle(this.elements[i],null)[attr];
- }else if(typeof this.elements[i].currentStyle !="undefined"){
- return this.element[i].currentStyle[attr];
- }
- }
- this.elements[i].style[attr]=value;
- };
- return this;
- }</span></span>
2.5,整合调用
- <span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">window.onload=function(){
- //个人中心——下拉菜单
- $().getClass("member").hover(function(){//hover鼠标移入移出事件
- //窗体加载,个人中心的图标向下
- $(this).css("background","url(Imagedown.png)no-repeat 80px center");
- //获取下拉菜单,显示
- $().getTagName("ul").show();
- },function(){
- //鼠标移走,图标向上
- $(this).css("background","url(Imageup.png)no-repeat 80px center");
- //隐藏下拉菜单
- $().getTagName("ul").hide();
- });
- };
- </span></span>
这样,一个下拉菜单就做完了。将超链接里的东西,改成自己做好的网址链接,就可以实现菜单导航了。嘿嘿!
三、总结感受
其实这个很简单的,但是简单也要去做才好,JS的这些东西,感觉都是一步一步深化的,丢了一步都做不好。这个视频讲了好多怎样将前台页面变得漂亮的东西,我很喜欢。我以后想要做出很好看,很有动感的Web界面,不想看到一些很死板的东西。
加油!!!
【JavaScript 11—应用总结】:下拉菜单的更多相关文章
- JavaScript 多级联动浮动(下拉)菜单 (第二版)
JavaScript 多级联动浮动(下拉)菜单 (第二版) 上一个版本(第一版请看这里)基本实现了多级联动和浮动菜单的功能,但效果不是太好,使用麻烦还有些bug,实用性不高.这次除了修改已发现的问 ...
- 第一百三十二节,JavaScript,封装库--下拉菜单
JavaScript,封装库--下拉菜单 封装库,增加了3个方法 shu_biao_yi_ru_yi_chu()方法,给元素设置鼠标移入移出事件,接收两个参数,参数是移入和移出时的执行函数(包含代码) ...
- JavaScript+CSS+DIV实现下拉菜单示例
<!DOCTYPE html> <html> <head> <title>下拉菜单示例</title> <script languag ...
- 11.css定义下拉菜单
注意点: 1.设置a标签的width 和 height 的时候,直接设置是没用的,可以以这样两种方式设置 (1). display:block; (2). float:left; 2.设置下拉菜单,最 ...
- (JavaScript插件——下拉菜单)
前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/aehyok/p/3404867.html 本文主要来学习一下JavaScrip ...
- 二、JavaScript语言--事件处理--DOM事件探秘--下拉菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 11个优秀的HTML5 & CSS3下拉菜单制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用HTML5和CSS3可以更容易创造视觉 ...
- 一款多浏览器兼容的javascript多级下拉菜单
这个多级下拉菜单的脚本大小不到2K,带有动画效果,可以方便地支持多个实例,并且能良好兼容WordPress系统wp_list_cats和wp_list_pages生成的多级列表.要初始化一个菜单,只需 ...
- Javascript版选择下拉菜单互移且排序
效果图如下: 代码如下: <html> <head> <title>Javascript版选择下拉菜单互移且排序</title> <meta ht ...
随机推荐
- LeetCode 100 及 101题
100. 相同的树 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [ ...
- Oracle查询排序asc/desc 多列 order by
查询结果的排序 显示EMP表中不同的部门编号. 如果要在查询的同时排序显示结果,可以使用如下的语句: SELECT 字段列表 FROM 表名 WHERE 条件 ORDER BY 字段名1 [ASC|D ...
- docker 配置国内镜像源 linux/mac/windows
部分内容来自:http://guide.daocloud.io/dcs/daocloud-9153151.html 加速器官方DaoCloud承诺:加速器服务永久免费且无流量限制 使用前提:注册Dao ...
- 1、Centos7 python2.7和yum完全卸载及重装
完全重装python和yum 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1.删除现有Python ...
- Java MVC 增删改查 实例
需求:实现增加新部门的功能,对应数据库表示Oracle的dept表 一.Java MVC 增 实现: 1.视图层(V):注册部门 deptAdd.jsp 在注册新部门页面只需输入“部门名称”和“城市” ...
- Mysql如何为表字段添加索引???
1.添加PRIMARY KEY(主键索引): ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) : ALTE ...
- PMP项目管理学习笔记引言(1)——为啥要取得认证?
(一)为啥要取得认证? 如果你参与过很多项目,就会发现,你总是在周而复始地面对同样的一些问题.一些常见的问题目前已经有了通用解决方案.经过多年的实战,项目经理已们已经掌握了很多应验教训,而通过PMP( ...
- 一样的Java,不一样的HDInsight大数据开发体验
大数据的热潮一直居高不下,每个人都在谈.你也许不知道,早些年这个领域可是有个非常「惹眼球」的段子: 1首先开始科普 什么是 HDInsight Azure HDInsight 是 Hortonwork ...
- Grace Huang 2017/1/11
原文 This actress becomes each character she plays Grace Huang has no interested in doing same thing y ...
- dubbo 快速入门
1. 步骤 实现消费者调用生产者服务接口. 2.安装zookeeper 3.创建maven 工程 4.安装dobboadmin 平台实现监控 5.dubbo 目录结构 ------dubbo-mem ...