一个js控制的导航菜单实例代码


Posted in Javascript onDecember 03, 2013

这种菜单效果是通过脚本和样式控制的,对于新手来说是非常好的学习内容:

这种昨晚一边看舞动奇迹,一边整理这个菜单的小代码,一起来看看吧,会了可以温故知新,不会的可以借鉴一下思想,其实就是想完善一下这种前端的思想,让它不要再陌生:

这是一个asp.net的master页面里面的菜单部分

Html部分:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link type="text/css" rel="Stylesheet" href="Styles/master.css" />
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="Scripts/nav.js" type="text/javascript"></script>
</head>
<body>
<div class="nav" id="nav">
     <input type="hidden" value="<%=Request.QueryString["menutemp"] %>" id="masterid" />
     <a href="Default.aspx?menutemp=0" class="check">首页</a>
     <a href="surveylist.aspx?menutemp=1">医院概况</a>
     <a href="Culturelist.aspx?menutemp=2">医院文化</a>
     <a href="Tumor dynamic list.aspx?menutemp=3">医院动态</a>
     <a href="Services list .aspx?menutemp=4">医院服务</a>
     <a href="Medical guidelines.aspx?menutemp=5">就诊指南</a>
     <a href="Introduce department.aspx?menutemp=6">科室介绍</a>
</div>
</body>        
</html>

看看css部分把,这是来区分选中项和其他项的:

#master .head .nav a.check{ background:url(../images/navbg.png) 1px 1px no-repeat; color:#fff;}

下面就是给html赋予生命的js部分,是他让网页动起来:

$(document).ready(function () {//表示要在网页加载之后运行
    var current = $("#masterid").val();//通过jquery方式获取id=masterid的页面元素的值,其实就是为了获取选中的那个菜单
    var alist = new Array();//定义数组
    if (current == "") {//要是没有获取到选中的菜单,我们就忽略这个
        current = -1;
    }
    $("#nav>a").each(function (i, items) {//这个部分就是在你点击了菜单一项后,还么有刷新页面时候的样式变化,哈哈,each是一个遍历函数,会遍历#nav>a的集合。
        alist[i] = $(items);//i是从0开始到遍历集合结束为止,自增1的
        $(alist[i]).click(function () {//对alist[i]进行注册点击事件,点击就会执行对应的方法,
            if (i != current) {//要是选择了不同的菜单项,就会给选择的菜单加上应有的样式,而之前的就会去除样式
                $(this).addClass("check");
                $(alist[current]).removeClass("check");
                current = i;//返回新选择的菜单项id
            }
        });
    });
    $("#nav>a").each(function (i, items) {//这是在页面跳转到新页面后对页面样式的处理,让菜单的样式正确调用。
        alist[i] = $(items);
        if (i != current) {
            $(alist[i]).removeClass("check");
        }
    });
    $(alist[current]).addClass("check");
});

好了,你可以赶快试一下吧。
Javascript 相关文章推荐
基于jquery.Jcrop的头像编辑器
Mar 01 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
基于jquery和svg实现超炫酷的动画特效
Dec 09 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
Mar 03 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
Dec 07 Javascript
JavaScript实现无穷滚动加载数据
May 06 Javascript
限时抢购-倒计时的完整实例(分享)
Sep 17 Javascript
vue项目总结之文件夹结构配置详解
Dec 13 Javascript
Javascript 关于基本类型和引用类型的个人理解
Nov 01 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
Nov 13 Javascript
JavaScript实现拖动对话框效果的实现代码
Oct 12 Javascript
three.js显示中文字体与tween应用详析
Jan 04 Javascript
JS与C#编码解码
Dec 03 #Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 #Javascript
浅析JavaScript原型继承的陷阱
Dec 03 #Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
Dec 03 #Javascript
探讨JavaScript中声明全局变量三种方式的异同
Dec 03 #Javascript
解析JavaScript中delete操作符不能删除的对象
Dec 03 #Javascript
解析Javascript小括号“()”的多义性
Dec 03 #Javascript
You might like
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
js树形控件脚本代码
2008/07/24 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
Python使用新浪微博API发送微博的例子
2014/04/10 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
python安装Scrapy图文教程
2017/08/14 Python
python实现用户管理系统
2018/01/10 Python
使用Python读取大文件的方法
2018/02/11 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
python如何在循环引用中管理内存
2018/03/20 Python
python opencv实现运动检测
2018/07/10 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
python实例化对象的具体方法
2020/06/17 Python
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
php优化查询foreach代码实例讲解
2021/03/24 PHP
2014年社区学雷锋活动总结
2014/03/09 职场文书
2015年暑假工作总结
2015/07/13 职场文书
欢迎新生标语2015
2015/07/16 职场文书