2008
-
11
-
19
文章分类:Web前端
很多天前就已经看完jQuery实战第四讲了,不过一直没有时间做笔记,呵呵,趁着今天有点空,上来记录记录...
这一讲的内容是制作tab菜单,所谓的tab菜单,也就是类似于OFFICE2007的界面菜单那样子的,当然,用在网页上面的话我们只是需要鼠标滑过就显示相应的内容而不必点击了,效果图如下:
在这节课里讲到了二个tab菜单的制作,第一个没有用到AJAX,每个菜单对应的内容都是事先已经在网页里的,只是把他们隐藏了而已,而第二个就用到了AJAX实时的提取内容数据.其实整个JS代码的编写也并不是很复杂,本人觉得难的主要在于CSS的编写上,如何才能让菜单与内容进行无缝结合...
以下是tab.aspx的源码:
以下是tab.css的源码:
以下是tab.js的源码:
另外还有一个静态页面用于测试第二个tab菜单的第一项和第二项-载入静态页面,以下是tab.htm的源码:
这一讲的内容是制作tab菜单,所谓的tab菜单,也就是类似于OFFICE2007的界面菜单那样子的,当然,用在网页上面的话我们只是需要鼠标滑过就显示相应的内容而不必点击了,效果图如下:

在这节课里讲到了二个tab菜单的制作,第一个没有用到AJAX,每个菜单对应的内容都是事先已经在网页里的,只是把他们隐藏了而已,而第二个就用到了AJAX实时的提取内容数据.其实整个JS代码的编写也并不是很复杂,本人觉得难的主要在于CSS的编写上,如何才能让菜单与内容进行无缝结合...
以下是tab.aspx的源码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="tab.aspx.cs" Inherits="tab" %>
<!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>jQuery实战-tab菜单</title>
<link href="css/tab.css" rel="stylesheet" type="text/css" />
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/tab.js" type="text/javascript"></script>
</head>
<body>
<div id="tab1">
<ul>
<li class="tabin first">菜单一</li>
<li>菜单二</li>
<li>菜单三</li>
</ul>
<div class="contentin">
菜单一的内容</div>
<div>
菜单二的内容</div>
<div>
菜单三的内容</div>
</div>
<br />
<br />
<br />
<div id="tab2">
<ul>
<li class="tabin first">获取整个网页内容</li>
<li>获取网页部分内容</li>
<li>获取handler输入的内容</li>
</ul>
<div id="container">
<div id="loading"><img src="images/loading.gif" alt="loading" /> 数据提取中,请稍候...</div>
<div id="content"></div>
</div>
</div>
</body>
</html>
以下是tab.css的源码:
body {
font-size:14px;
}
ul, li {
list-style:none;
padding: 0;
margin: 0;
}
#tab1 li {
width: 50px;
height: 25px;
line-height: 25px;
background-color: #8A4B04;
float: left;
margin-right: 2px;
border: 2px solid #fff;
text-align: center;
cursor: pointer; /* 移上该元素上时鼠标为手形 */
}
#tab1 div {
width: 300px;
height: 100px;
background-color: #8A4B04;
display: none; /* 默认不显示 */
padding: 10px;
clear: left;
}
.first { /* 第一个tab菜单 */
margin-left:10px;
}
#tab1 .contentin { /* 当前菜单对应的DIV的样式 */
display: block;
}
#tab1 .tabin { /* 当前菜单的样式 */
border-bottom-color: #8A4B04;
}
#tab2 li {
width: 150px;
height: 25px;
line-height: 25px;
border: 1px solid #9EC9FE;
float: left;
text-align:center;
margin-right: 10px;
cursor: pointer; /* 移上该元素上时鼠标为手形 */
}
#tab2 #container {
width: 600px;
height: 200px;
border: 1px solid #9EC9FE;
/* margin-top: -1px; 如果用这条样式的话那只是在IE里能出现缺口*/
padding: 20px;
position: relative;
top: -1px;
clear: left;
}
#tab2 .tabin {
border-bottom: 1px solid #fff;
position:relative; /* 要让z-index产生效果,则必须把元素的position设置为relative或者absolute */
z-index: 100;
}
以下是tab.js的源码:
<%@ WebHandler Language="C#" Class="tab" %> using System; using System.Web; public class tab : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; System.Threading.Thread.Sleep(3000); // 暂停3秒后再执行以下代码 context.Response.Write("这是Handler输出的内容!"); } public bool IsReusable { get { return false; } } }
另外还有一个静态页面用于测试第二个tab菜单的第一项和第二项-载入静态页面,以下是tab.htm的源码: