站长技术网

首页 > 网站基础 > HTML教程 >

jquery实现两级导航菜单代码示例

点评:两级导航菜单在网页中非常实用,实现的方法也有很多,本文为大家介绍下使用jquery是如何实现的,需要的朋友可以参考一下!

1. HTML 页面及 JS 交互, 注意引入 Jquery 文件

复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<title>两级导航菜单的示例</title>

<script src="jquery-1.10.1.min.js"></script>

<!-- moonmm css -->

<link rel="stylesheet" type="text/css" href="two-nav.css" />

<script type="text/javascript">

var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]

function showtime() {

var date = new Date();

var yy = date.getYear();

if (yy < 1900) {

yy = yy + 1900;

}

var MM = date.getMonth()+1;

if(MM<10) MM = '0' + MM;

var dd = date.getDate();

if(dd<10) dd = '0' + dd;

var hh = date.getHours();

if(hh<10) hh = '0' + hh;

var mm = date.getMinutes();

if(mm<10) mm = '0' + mm;

var ss = date.getSeconds();

if(ss<10) ss = '0' + ss;

var ww = weeks[date.getDay()];

$('#currTime span').html('[ ' + yy + '-' + MM + '-' + dd + ' ' + hh + ':' + mm + ':' + ss + ' ' + ww + ' ]');

window.setTimeout("showtime()", 1000);

}

var setContentSize = function(height, width) {

$('header').css('width', width);

$('#topnav').css('width', width);

$('#nav').css('width', width);

$('#content').css('height', height + 'px');

$('#content').css('width', width);

$('#maincontent').css('height', height + 'px' );

$('#maincontent').css('width', width);

}

$(document).ready(

function() {

var docHeight = $(document).outerHeight();

var docWidth = $(document).width();

var headerHeight = $('#header').height();

var contentHeight = docHeight-headerHeight;

$('#topnav a').click(

function() {

$('.select').removeClass('select');

$(this).addClass('select');

console.log($(this).css('background-color'));

$('#nav').css('background-color', $(this).css('background-color'));

$('#nav').css('width', $('#topnav').width());

switch(this.id) {

case 'topmenu_home':

$('.nav_list').hide();

$('#homebo').show();

$('#homebo a').first().click();

break;

case 'topmenu_itlearn':

$('.nav_list').hide();

$('#itlearnbo').show();

$('#itlearnbo a').first().click();

break;

case 'topmenu_baike':

$('.nav_list').hide();

$('#baikebo').show();

$('#baikebo a').first().click();

break;

case 'topmenu_scisrc':

$('.nav_list').hide();

$('#scisrcbo').show();

$('#scisrcbo a').first().click();

break;

case 'topmenu_more':

$('.nav_list').hide();

$('#morebo').show();

$('#morebo a').first().click();

break;

default : break;

}

}

);

$('#nav a').click(

function() {

setContentSize(contentHeight, docWidth-15);

$('#nav .select').removeClass('select');

$(this).addClass('select');

switch(this.id) {

case 'myblogModule':

$('#maincontent').attr('src', 'http://blog.csdn.net/lovesqcc');

break;

case 'ifeveModule':

setContentSize(contentHeight+80, docWidth-15);

$('#maincontent').attr('src', 'http://ifeve.com/');

break;

case 'csdnModule':

$('#maincontent').attr('src', 'http://csdn.net');

break;

case 'infoqModule':

$('#maincontent').attr('src', 'http://www.infoq.com/cn/');

break;

case 'boleModule':

$('#maincontent').attr('src', 'http://blog.jobbole.com/');

break;

case 'itcommentModule':

$('#maincontent').attr('src', 'http://www.vaikan.com/');

break;

case 'wikiModule':

$('#maincontent').attr('src', 'http://zh.wikipedia.org/zh-tw/Wikipedia');

break;

case 'zhihuModule':

$('#maincontent').attr('src', 'http://www.zhihu.com/');

break;

case 'acmModule':

$('#maincontent').attr('src', 'http://www.acm.org/');

break;

case 'xiamiModule':

$('#maincontent').attr('src', 'http://www.xiami.com');

break;

case 'opencourseModule':

$('#maincontent').attr('src', 'http://v.163.com/special/ted10collection/');

break;

default:

break;

}

}

);

$('.nav_list').hide();

$('#topmenu_home').click();

showtime();

}

);

</script>

</head>

<body>

<p id="header">

<p id="firstHeader">

<p id="logo"> 两级导航菜单 </p>

<p id="target">两级导航菜单的示例</p>

<p id="toolbar">

<a href="#" id="userinfo">[ 你好: <span style="color:#f47920">admin</span> ]</a>

<a href="#" id="currTime"><span></span></a>

<a href="http://aone.alibaba-inc.com/aone2/req/addFromProductline/9139" target="_blank"><span style="color:#f47920">[ 提建议 ]</span></a>

</p>

</p>

<p class="clear"></p>

<p id="topnav">

<p class="topnav_list">

<a href="#" class="select" id="topmenu_home"><span>首页</span></a>

<a href="#" id="topmenu_itlearn"><span>IT学习</span></a>

<a href="#" id="topmenu_baike"><span>百科</span></a>

<a href="#" id="topmenu_scisrc"><span>学术资源</span></a>

<a href="#" id="topmenu_more"><span>更多</span></a>

</p>

</p>

<p class="clear"></p>

<p id="nav">

<p class="nav_list" id="homebo">

<a href="#" class="select" id="myblogModule"><span>我的博客</span></a>

</p>

<p class="nav_list" id="itlearnbo">

<a href="#" class="select" id="ifeveModule"><span>并发编程网</span></a>

<a href="#" id="csdnModule"><span>CSDN</span></a>

<a href="#" id="infoqModule"><span>Infoq</span></a>

<a href="#" id="boleModule"><span>伯乐在线</span></a>

<a href="#" id="itcommentModule"><span>外刊评论</span></a>

</p>

<p class="nav_list" id="baikebo">

<a href="#" class="select" id="wikiModule"><span>WIKI百科</span></a>

<a href="#" id="zhihuModule"><span>知乎</span></a>

</p>

<p class="nav_list" id="scisrcbo">

<a href="#" class="select" id="acmModule"><span>ACM</span></a>

</p>

<p class="nav_list" id="morebo">

<a href="#" class="select" id="xiamiModule"><span>虾米音乐</span></a>

<a href="#" id="opencourseModule"><span>网易公开课</span></a>

</p>

</p>

</p>

<p id="content">

<iframe id="maincontent" frameborder="0" width="100%"></iframe>

</p>

</body>

</html>

2. CSS 文件

[css] view plaincopyprint?在CODE上查看代码片派生到我的代码片

p:not(#topnav, #logo){font-size:10pt!important}

*{font-family: 微软雅黑, 宋体, san-serif!important}

/*

* Header CSS

*/

a{color:#2F649A;}

a:link{text-decoration:none;}

a:visited{text-decoration:none;}

a:hover{text-decoration:underline;}

a:active{text-decoration:none;}

body {

background-color: #dae7f6;

margin: -0px -0px;

}

#firstHeader {

height: 56px;

}

#logo {

float: left;

font-size: 28pt;

margin: 10px 0px 10px 20px;

font-family: 隶书, 微软雅黑, 宋体, san-serif!important;

}

#target {

float: left;

font-size: 10.5pt;

font-style: italic;

font-weight: 1.5em;

margin: 25px 30px 0px 5px;

}

#toolbar {

float: right;

margin: 0px 3px;

}

#toolbar a {

font-size: 10pt;

}

#content {

background-color: #45b97c;

}

/* the top menu */

#topnav {

float: left;

background-color: #426ab3;

width: 100%;

}

#topnav .topnav_list {

float:left; width: 100%; height:29px; color:#333; margin: 0px 0px -1px 0px;

font-size: 11pt!important; font-weight:bold;

border-radius: 5px;

}

#topnav .topnav_list a {

display:inline-block; height:24px; padding: 2px 0 2px 18px;

color:#fff; vertical-align:middle; line-height:22px; *line-height:24px; cursor:pointer;

border-radius: 5px; border-right: 2px outset #00BFFF;

}

#topnav .topnav_list a span {

display:inline-block; height:22px; padding:0 20px 0 0;

border-top-left-radius: 8px;

border-top-right-radius: 8px;

border-bottom-left-radius: 0px;

border-bottom-right-radius: 0px;

}

#topnav .topnav_list a:hover, #topnav .topnav_list a.select {

position:relative; z-index:9;

background-color: #45b97c;

color:#fff; text-decoration:none;

border-top-left-radius: 8px;

border-top-right-radius: 8px;

border-bottom-left-radius: 0px;

border-bottom-right-radius: 0px;

}

#topnav .topnav_list a:hover span, #topnav .topnav_list a.select span {

background-color: #45b97c;

color:#fff;

border-radius: 5px;

}

.clear {

clear: both;

}

/* the first menu */

#nav {

font-size: 10pt;

}

#nav .nav_list {

float:left; padding: 3px 0 3px 0; font-weight:bold;height:25px;

}

#nav .nav_list a {

display:inline-block;

padding: 2px 15px 2px 15px;

color:#fff; vertical-align:middle; line-height:22px; *line-height:24px; cursor:pointer;

border-radius: 8px;

border-radius: 8px;

}

#nav .nav_list a span {

display:inline-block;

border-radius: 8px;

border-radius: 8px;

}

#nav .nav_list a:hover, #nav .nav_list a.select {

position:relative; z-index:9;

text-decoration:none;

border-radius: 8px;

border-radius: 8px;

}

#nav .nav_list a:hover, #nav .nav_list a:hover span {

background-color: #007d65;

color: #fff;

}

#nav .nav_list a.select, #nav .nav_list a.select span {

background-color: #fff;

color: #ca0000;

}