一个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实现长文字部分显示代码
May 13 Javascript
JavaScript实现GriwView单列全选(自写代码)
May 13 Javascript
JavaScript使用循环和分割来替换和删除元素实例
Oct 13 Javascript
js控制网页背景音乐播放与停止的方法
Feb 06 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
Nov 05 Javascript
JavaScript中的继承之类继承
May 01 Javascript
高效Web开发的10个jQuery代码片段
Jul 22 Javascript
浅谈angular2路由预加载策略
Oct 04 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 Javascript
javascript实现电商放大镜效果
Nov 23 Javascript
Vue接口封装的完整步骤记录
May 14 Vue.js
关于JavaScript 中 if包含逗号表达式
Nov 27 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.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
javascript之ESC(第二类混淆)
2007/05/06 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python妙用之编码的转换详解
2017/04/21 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
Python实现病毒仿真器的方法示例(附demo)
2020/02/19 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
园林毕业生自我鉴定范文
2013/12/29 职场文书
女子职高个人自荐书
2014/02/01 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
服装采购员岗位职责
2014/03/15 职场文书
绿色环保倡议书
2015/04/28 职场文书
资产移交协议书
2016/03/24 职场文书