一个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 相关文章推荐
用正则获取指定路径文件的名称
Feb 27 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
Dec 18 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
May 12 Javascript
基于vue.js路由参数的实例讲解——简单易懂
Sep 07 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
Dec 04 Javascript
AngularJs分页插件使用详解
Jun 30 Javascript
Vue动态加载异步组件的方法
Nov 21 Javascript
vue项目中实现的微信分享功能示例
Jan 21 Javascript
vue车牌号校验和银行校验实战
Jan 23 Javascript
vue单页面在微信下只能分享落地页的解决方案
Apr 15 Javascript
微信小程序实现收货地址左滑删除
Nov 18 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 17 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中检查文件或目录是否存在的代码小结
2012/10/22 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
5 cool javascript apps
2007/03/24 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
详解python上传文件和字符到PHP服务器
2017/11/24 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
python设置环境变量的作用和实例
2019/07/09 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
女子职高个人自荐书
2014/02/01 职场文书
狼和鹿教学反思
2014/02/05 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
捐资助学感谢信
2015/01/21 职场文书
历史博物馆观后感
2015/06/05 职场文书
演讲比赛主持词
2015/06/29 职场文书
2016春季运动会前导词
2015/11/25 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书