因为目前的项目会用到jQuery,所以要先有个尝试,网上search,关于jQuery的东西太多了,已经看到了Jquery的240个插件,那些插件一个demo保准每个人都会用了,但关于jQuery底层的东西不是一个demo就能说明的问题,今天看了看jQuery的api,做了两个demo,感觉真的很爽。第一个demo是jQuery.ajax()的一个用户注册是用户名存在与否的一个应用,第二个demo是jQuery 效果的一些小演示。
一、jQuery实现用户注册检验。
这样的需求或者说功能相信很多人都有见识了,今天看了jQuery的api,实现起来会比之前的asp.net ajax简单多,直接调用jQuery.ajax()方法就搞定。还是先说说本demo结果吧,两个.aspx页面,一个提供注册用,我把它叫Default.aspx,一个检验用户名存在与否用,Check.aspx,一个Users.xml文件,存放用户信息,jQuery库就不说了,我现在的版本是2.6,这肯定是少不了的!
在default.aspx文件中没有一行代码,前台就只有两个输入框,一个是用户名,一个是用户密码,一个提交按钮,html内容如下:

Code
1
<body>
2
<form id="form1" runat="server">
3
<div>
4
userid: <asp:TextBox ID="userid" runat="server"></asp:TextBox><br />
5
password:<asp:TextBox ID="pass" runat="server" TextMode="Password"></asp:TextBox><br />
6
<asp:Button ID="btnReg" Text="Reg" runat="server" /> <asp:Label ID="RegInfo" runat="server" BackColor="Red"></asp:Label>
7
</div>
8
</form>
9
</body>
这没什么好说的了,重要角色就是js了:

Code
1
<script type="text/javascript" src="jquery-1.2.6.js"></script>
2
<script type="text/javascript">
3
$(document).ready(function()
{
4
$("#btnReg").click(function()
{
5
var userid=$("#userid").val(); //$("#userid").text()是不行的,因为text()是静态文本,不提供输入的;
6
var password=$("#pass").val();
7
$("#RegInfo").text("");
8
if(userid=="")
9
{
10
$("#RegInfo").text("请输入用户名");
11
return;
12
}
13
if(password=="")
14
{
15
$("#RegInfo").text("请输入用户密码");
16
return;
17
}
18
$.ajax(
{
19
type:"GET",
20
url:"Check.aspx?userid="+userid+"&password="+password,
21
cache:true,
22
async: false,
23
success:function(result)
{
24
$("#RegInfo").html(result); //也可以是$("#RegInfo").text(result),但最好不要这个,原因可以查api
25
}
26
});
27
});
28
});
29
</script>
xml文件就存放用户名和密码,结构就这样了:

Code
1
<?xml version="1.0" encoding="utf-8" ?>
2
<user>
3
<userinfo>
4
<userid>medal</userid>
5
<password>123456</password>
6
</userinfo>
7
<userinfo>
8
<userid>tyh</userid>
9
<password>19841002</password>
10
</userinfo>
11
</user>
check.asp文件前台是不需要任何html元素的,只要代码里读取xml文件内容和传过来的用户信息校验下,写出相应的校验结果就行了。代码如下:

Code
1
protected void Page_Load(object sender, EventArgs e)
2
{
3
if (!IsPostBack)
4
{
5
string userid = "";
6
string password = "";
7
string LoginUserid = "";
8
string LoginPassword = "";
9
LoginUserid = Request.Params["userid"].ToString().Trim();
10
LoginPassword = Request.Params["password"].ToString().Trim();
11
bool isExist = false;
12
XmlDocument xmldoc = new XmlDocument();
13
xmldoc.Load(Server.MapPath("Users.xml"));
14
XmlNodeList nodelist = xmldoc.SelectSingleNode("user").ChildNodes;
15
foreach (XmlNode xn in nodelist)
16
{
17
if (xn.Name == "userinfo")
18
{
19
foreach (XmlNode cxn in xn)
20
{
21
if (cxn.Name == "userid")
22
{
23
userid = cxn.InnerText;
24
}
25
if (cxn.Name == "password")
26
{
27
password = cxn.InnerText;
28
}
29
if (userid == LoginUserid)
30
{
31
isExist = true;
32
}
33
}
34
}
35
}
36
if (isExist == false)
37
{
38
Response.Write("可以注册!");
39
}
40
else
41
{
42
Response.Write("该用户名已注册!");
43
}
44
}
45
}
二jQuery 效果
效果有很多现成的方法,有基本效果,滑动效果,弹入弹出效果,自定义效果,这个demo都是用了写现成的方法,show(speed,callback)显示隐藏的匹配元素,hide(speed,callback)隐藏显示的元
素,多了一个图片显示和隐藏的动画效果,speed控制显示和隐藏的速度,由speed的控制做出flash的效
果。slideDown(speed,callback)和slideUp(speed,callback)控制显示内容相对高度的上升和下降。做这个demo的时候看着图片那动起来的效果心里是一种莫大的满足。

Code
1
<script type="text/javascript" src="../js/jquery-1.2.6.js"></script>
2
<script type="text/javascript">
3
$(function()
{
4
5
//图片显示
6
$("#imgArea").show(1000,function()
{
7
$("#result").html("<input type=button value=把图片收起来></input>");
8
});
9
//单击按钮
10
$("#result").click(function()
{
11
//图片隐藏
12
$("#imgArea").hide(1000,function()
{
13
//图片下降
14
$("#imgArea").slideDown(1000,function()
{
15
//图片上升
16
$("#imgArea").slideUp(1000,function()
{
17
$("#result").html("");})
18
19
;});
20
});
21
});
22
23
});
24
25
$(function()
{
26
27
$("#imgArea").fadeIn(1000);
28
});
29
</script>
30
</head>
31
32
<body>
33
<div id="imgArea"><img src="images/20071013210557521.bmp" /></div>
34
<div id="result"></div>
35
</body>
要想了解一个东西,得深入其内部,过看官方网站,看开发api,每个人都在进步!,我觉得api是个很好的东东,贴上来,希望有朋友用得着!
jQuery api下载