1. 脚本方法外面中的jquery变量是按页面顺序加载的,所以在调用页面中DOM对象时,
要注意在此之前该元素是否已定义(基本过程中)。
2. $(#...)获得的永远时对象,即使网页上没有此元素。Js不同
JQuery判断某个元素在网页中是否存在:$(#...).length>0
4.2 JQuery中的动画
注意:jQuery中的动画方法,都可以指定以下参数
“slow”:600/”normal”:400/”fast”:200/数字;
animate()可以替代一切其他动画方法。
(1).show()和hide()
改变元素的高度、宽度、透明度直至完全显示或消失
show/hide(“slow”:600/”normal”:400/”fast”:200/数字)
(2).fadeIn()和fadeOut()
改变元素的透明度直至完全显示或消失
(3).slideDown()和slideUp()
改变元素由上至下延伸显示或由下至上隐藏
(4).自定义动画方法:animate()
(5).动画回调函数
(6).停止元素的动画stop([clearQuery][,gotoEnd])
(7).交互动画方法 toggle(speed,[callback]);
slideToggle(speed,[callback]);
fadeTo(speed,opacity,[callback])
五、jQuery 对表单、表格的操作及更多的应用
5.1.表单应用
(1).单行文本框应用
获取和失去焦点改变样式
(2).多行文本框应用
高度变化
滚动条高度变化
(3).复选框应用
全选、全不选、反选、获取复选框中值联动复选框选择
(4).下拉框应用
左右下拉框互相移动选项
(5).表单验证
重点应用
5.2.表格应用
(1). 表格变色
隔行变色
单选框控制表格行高亮(end())
复选框控制表格行高亮
(2).表格展开关闭 单位:ms
(3).表格内容刷选
5.3.其他应用
(1).网页字体大小设置
(2).网页选项卡
(3).网页换肤(引入jQuery中Cookie插件)
六、jQuery与Ajax的应用
6.0.Ajax应用原理
6.1.使用javascript实现Ajax应用
6.2.jQuery实现Ajax应用
载入Html 文档
刷选载入的 Html 文档
传替方式
回调函数
$.get()和$.post()
七、插件的使用和写法
7.1.表单验证插件:Validation
Jquery.matedata.js插件
Validata中文验证信息库
自定义验证规则
7.2.表单插件:Form
核心方法:ajaxForm()和ajaxSubmit() 表单提交前验证表单
7.3.动态绑定事件插件:livequery
7.4.jquery UI插件
与后台结合
7.5.管理Cookie的插件:Cookie
7.6.自定义插件
Color插件
去除左侧或右侧空格插件
表格隔行变色插件
7.7jquery的tree
想做个jquery 实际例子的集锦。
后台采用php。但其实用其它后台语言也都是一样的。
1、ajax应用 ---- post 提交表单
(1)前台页面
<script type="text/javascript" src="/include/jquery/jquery-1.1.3.1.pack.js"></script> <form name="form1" id="form1" action="ajax.php?action=1" method="post"> <input type="hidden" id="comid" name="comid" value="111">
<input type="hidden" id="jobid" name="jobid" value="222">
<input type="hidden" id="userid" name="userid" value="333">
<input type="submit" /></form>
<script language="javascript">
$("#form1").submit
(
function()
...{
login();
return false;
}
);
function login()
...{
var comid = $("#comid").val();
var jobid = $("#jobid").val();
var userid = $("#userid").val();
$.ajax(...{
type: "POST",
url: "../include/ajax.php",
data: "action=1" + "&comid=" + comid + "&jobid=" + jobid + "&userid=" + userid, beforeSend: function()...{
},
success: function(msg)...{
if(msg=="success")...{
alert("求职信息,已经提交!请等候通知!")
}else ...{
alert("信息已发送,请不要重复提交!");
}
}
});
}
</script>(2)后台页面 ajax.php
<?
header("Cache-Control: no-cache");
require_once("function.php");
switch ($_POST["action"]){
case 1:
$comid=verify_id($_POST["comid"]);
$jobid=verify_id($_POST["jobid"]);
$userid=verify_id($_POST["userid"]);
$appdate=time();
$hasapp=getValue("select * from csj_appjob where jobid=$jobid and userid=$userid and comid=$comid","id");
if($hasapp==""){
$sql="insert into csj_appjob(comid,jobid,userid,appdate) values($comid,$jobid,$userid,$appdate)";
query($sql);
echo "success";
}else{
echo "wrong";
}
break;
default:
break;
}
?>
2、动态表格 、动态表单
<script>var jobline=1;</script>
<input type="hidden" name="jobline" id="jobline" value="1">
<table width="462" border="0" cellspacing="3" cellpadding="0">
<tr>
<td width="88" class="td1">开始日期</td>
<td width="88" class="td1">结束日期</td>
<td width="117" class="td1">单位名称</td>
<td width="115" class="td1">岗位名称</td>
</tr>
<tbody id="job">
<tr id="jobline1">
<td><input type="hidden" name="jid1"><input type="text" name="brq1" ></td> <td><input type="text" name="erq1"></td>
<td><input type="text" name="school1"></td>
<td><input type="text" name="spe1"></td>
</tr>
</tbody>
</table>
<img src="/images/member/03.jpg" id="addjobline" width="12" height="17" /> <img src="/images/member/04.jpg" id="rmjobline" width="12" height="17" />
<script type="text/javascript" src="/include/jquery/jquery-1.1.3.1.pack.js"></script>
<script language="javascript">
$("#addjobline").css("cursor","pointer");
$("#rmjobline").css("cursor","pointer");
$("#addjobline").click( function() ...{
jobline+=1;
$("#jobline").val(jobline);
var str="";
str+='<tr id="jobline'+jobline+'">'
str+='<td><input type="text" name="brq'+jobline+'"></td>'
str+='<td><input type="text" name="erq'+jobline+'"></td>'
str+='<td><input type="text" name="school'+jobline+'"></td>'
str+='<td><input type="text" name="spe'+jobline+'"></td>'
str+='</tr>';
$("#job").append(str);
} );
$("#rmjobline").click( function() ...{
$("#jobline"+jobline).remove();
jobline-=1;
$("#jobline").val(jobline);
} );
</script>3、输入框"获得焦点 / 点击 / 划过" 时全选
<script type="text/javascript" src="/include/jquery/jquery-1.1.3.1.pack.js"></script>
<input type="text" value="ID" id="uid" name="uid" />
<input type="password" name="upwd" value="Password" id="upwd" />
<script language="javascript">
//获得焦点,这个效果最好,点或者按tab,都可以全选
$("#upwd").focus(function()...{this.select();})
$("#uid").focus(function()...{this.select();})
//点击
$("#upwd").click(function()...{this.select();})
$("#uid").click(function()...{this.select();})
//划过全选
$("#upwd").mouseover(function()...{this.select();})
$("#uid").mouseover(function()...{this.select();})
</script>4、ajax应用 ---- 二级联动
数据库表设计 csj_trade
id int(11) auto_increment
tname varchar(100)
tradeType int(11)
其中,id为主键自动索引,tname为行业名称,tradeType为一个标识,为0时,表示这条数据是大类;不为0,而是某个数字的时候,则这个数字表示其父级的id。
(1)主页面
<script type="text/javascript" src="/include/jquery/jquery-1.1.3.1.pack.js"></script>
<select name="bTrade" id="bTrade">
<option value="-1">——所属行业大类——</option>
<?
$res1=result("select * from csj_trade where tradeType=0");
while($rs1=mysql_fetch_array($res1)){
?>
<option value="<?=$rs1["id"]?>">——<?=$rs1["tname"]?>——</option>
<?}?>
</select>
<span id="quote">
<select name="sTrade">
<option value="-2">——行业小类——</option>
</select>
</span>
<script language="javascript">...
$("#bTrade").change(function()...{
$("#quote").load("../include/getstrade.php?id="+$("#bTrade").val());
});
</script>(2)getstrade.php
<?
require_once("function.php");
header("Cache-Control: no-cache");
$id=verify_id($_GET["id"]);
$res=result("select * from csj_trade where tradeType=".$id);
$rt='<select name="sTrade" id="s_trade">';
while($rs=mysql_fetch_array($res)){
$rt.='<option value="'.$rs["id"].'">'.$rs["tname"].'</option>';
}
$rt.='</select>';
echo $rt;
?>5、CSS 样式表动态选择
主页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml" xml:lang="utf-8">
<HTML>
<HEAD>
<TITLE>css 选择</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="/include/jquery/jquery-1.1.3.1.pack.js"></script> <link href="1.css" rel="stylesheet" title="style1" type="text/css" />
<link href="2.css" rel="stylesheet" title="style2" type="text/css" />
<link href="3.css" rel="stylesheet" title="style3" type="text/css" />
</HEAD>
<BODY>
<h1>jQuery 是一个新型的JavaScript库. </h1>
<p>jQuery是一个简洁快速的JavaScript库,它能让你在你的网页上简单的操作文档、处理事件、运行动画效果或者添加Ajax交互。jQuery的设计会改变你写JavaScript代码的方式。
jQuery适合于设计师、开发者以及那些还好者,同样适合用于商业开发,可以说jQuery适合任何JavaScript应用的地方,可用于不用的应用程序。
jQuery是一个轻量级的脚本,其代码非常小巧,JavaScript包只有15K左右。
jQuery支持CSS1-CSS3,以及基本的xPath
jQuery是跨浏览器的,它支持的浏览器包括IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+ </p>
<ul>
<li rel="style1" class="styleswitch">styles1</li>
<li rel="style2" class="styleswitch">styles2</li>
<li rel="style3" class="styleswitch">styles3</li>
</ul>
<SCRIPT LANGUAGE="JavaScript">...
<!--
$('.styleswitch').css("cursor","pointer");
$('.styleswitch').click(function()
...{
switchStylestyle(this.getAttribute("rel"));
return false;
});
var c = readCookie('style');
if (c) switchStylestyle(c);
function switchStylestyle(styleName)
...{
$('link[@rel*=style][@title]').each(function(i)
...{
this.disabled = true;
if (this.getAttribute('title') == styleName) this.disabled = false;
});
createCookie('style', styleName, 365);
}
function createCookie(name,value,days)
...{
if (days)
...{
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name)
...{
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++)
...{
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name)
...{
createCookie(name,"",-1);
}
//-->
</SCRIPT>
</BODY>
</HTML>三个css样式表
1.css
body{background:#000;color:#fff}
h1{font-size:14px;color:#fff;font-weight:bold;}
p{font-size:12px;color:#fff;}
2.css
body{background:#f00;color:#fff}
h1{font-size:15px;color:#fff;font-weight:bold;}
p{font-size:13px;color:#fff;}
3.css
body{background:#fee;color:#000}
h1{font-size:16px;color:#000;font-weight:bold;}
p{font-size:14px;color:#000;}
6、jquery的选择器之变态演示。。。可直接运行
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript"
src="http://www.China-Staff-job.com/include/jquery/jquery-1.1.3.1.pack.js"></script> </head>
<body>
<a>1、aaa</a>
<br />
<h1 class="a">2、aaa</h1>
<br />
3、<span name="aa">aaa</span>
<br /><br />
4、<ul>
<li class="u1">111</li>
<li name="u2">222</li>
<li id="u3">333</li>
<li><span>444</span></li>
</ul>
<br />
5、<span suibian="a">5555555</span>
<br /><br />
6、<form mingzi="form1">
<input value="我们在一个form里">
<input value="我们在一个form里">
<input type="button" value="点我">
<input type="button" value="全消失">
</form>
<br />
<br />
7、<h1>这个有点变态</h1><br />
<h1>换个写法</h1>
<br />
<br />
<br />
8、试试这个 <br />
<span x="1">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
<br />
<br />
9、再来,你受的了吗?
<br />
<ul y="1">
<li>aaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaaaaaaaaaaaa</li>
<li>aaaaaaaaaaaaaaaaaaaaaaaaa</li>
</ul>
10、最后一个
<ul>
<li><font>aaaaaaaaaaaaaaaaaaaaaaaaa</font></li> <li><kkk>aaaaaaaaaaaaaaaaaaaaaaaaa</kkk></li> <li>我是最后一个li</li>
</ul>
<script language="javascript">...
//1
$("a").click(
function()...{
alert("1");
}
);
//2
$(".a").click(
function()...{
alert("2");
}
);
//3
$("span[@name=aa]").click(
function()...{
alert("3");
}
);
//4
$("li").css("cursor","pointer");
$("ul li.u1").click(
function()...{
alert("点了第一个111");
}
);
$("ul li[@name=u2]").click(
function()...{
alert("点了第二个222");
}
);
$("ul #u3").click(
function()...{
alert("点了第三个333");
}
);
$("ul li span").click(
function()...{
alert("点了第四个444");
}
);
//5
$("span[@suibian=a]").click(
function()...{
alert("随便设置个属性也行");
}
);
//6
$("input[@value=点我]").click(
function()...{
alert("中文也行啊?");
}
);
$("input[@value=全消失]").click(
function()...{
$("form[@mingzi=form1]").children().hide(); }
);
//7
$("h1").contains("这个有点变态").click(
function()...{
alert("太变态了");
}
);
$("h1:contains('换个写法')").click(
function()...{
alert("这么写也行");
}
);
//8
$("span[@x]").css("background","red");
//9
$("ul[@y=1] li:odd").css("background","red"); $("ul[@y=1] li:even").css("background","#ff0"); //10
$("ul:last li[font]").click(
function()...{
alert("我有font");
}
);
$("ul:last li[kkk]").click(
function()...{
alert("我有kkk? 靠,kkk也算。。。");
}
);
$("li:last").click(
function()...{
alert("是的,本页最后一个li,就是我!");
}
);
</script>
</body>
</html>7、让连接打开新窗口,一个简单的小效果
相关连接:/thread-2780298-1-1.html
<script type="text/javascript" src="http://www.China-Staff-job.com/include/jquery/jquery-1.1.3.1.pack.js"></script> <img src="1.jpg"> <br><br><br>
<img src="2.jpg"> <br><br><br>
<img src="3.jpg"> <br><br><br>
<img src="4.jpg"> <br><br><br>
<img src="5.jpg"> <br><br><br>
<a href="1.jpg">1.jpg</a> <br><br><br>
<a href="2.jpg">2.jpg</a> <br><br><br>
<a href="3.jpg">3.jpg</a> <br><br><br>
<a href="4.jpg">4.jpg</a> <br><br><br>
<a href="5.jpg">5.jpg</a> <br><br><br>
<script language="javascript">...
$("img").click(function()...{
window.open(this.src);
});
$("a").css("cursor","pointer");
$("a").click(function()...{
window.open(this.href);return false;
});
</script>8、键盘控制----选择表格并编辑
相关连接:/thread-2780258-1-1.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="http://www.China-Staff-job.com/include/jquery/jquery-1.1.3.1.pack.js"></script>
<style>...
#tb1 td{...}{background:#ccc;padding:3px;border:1px solid #999;}
</style>
</head>
<body>
<table id="tb1" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200">a1</td>
<td width="200">a2</td>
<td width="200">a3</td>
</tr>
<tr>
<td>b1</td>
<td>b2</td>
<td>b3</td>
</tr>
<tr>
<td>c1</td>
<td>c2</td>
<td>c3</td>
</tr>
<tr>
<td>d1</td>
<td>d2</td>
<td>d3</td>
</tr>
<tr>
<td>e1</td>
<td>e2</td>
<td>e3</td>
</tr>
<tr>
<td>f1</td>
<td>f2</td>
<td>f3</td>
</tr>
</table>
<span id="t1">编辑内容:</span><input id="tmptext" type="text" value=""><input id="saveit" type="button" value="保存">
<script language="javascript">...
$(document).children().not("#tmptext").keydown(keyCtrl);
var obj=$("#tb1").children().children();
var h=0,l=0;
var maxh=obj.size()-1
var maxl=obj.children().size()/(maxh+1)-1;
select();
function select()...{
$("#tmptext").val(obj.eq(h).children().eq(l).text()); obj.eq(h).children().eq(l).css("background","#0ff"); }
function recover()...{
obj.eq(h).children().eq(l).css("background","#ccc"); }
function keyCtrl(e)...{
var e=window.event?window.event:e;
if (e.keyCode ==37) left();
if (e.keyCode ==39) right();
if (e.keyCode ==38) up();
if (e.keyCode ==40) down();
if (e.keyCode ==13) edit();
}
function left()...{
if(l>0)...{
recover();
l-=1;
select();
}
}
function right()...{
if(l<maxl)...{
recover();
l+=1;
select();
}
}
function up()...{
if(h>0)...{
recover();
h-=1;
select();
}
}
function down()...{
if(h<maxh)...{
recover();
h+=1;
select();
}
}
function save(e)...{
var e=window.event?window.event:e;
if (e.keyCode ==13)...{
obj.eq(h).children().eq(l).text($("#tmptext").val());
}
}
function edit()...{
$("#tmptext").val(obj.eq(h).children().eq(l).text());
$("#tmptext").select();
}
$("#tmptext").keydown(save);
$("#saveit").click(function()...{
obj.eq(h).children().eq(l).text($("#tmptext").val());
})
</script>
</body>
</html>9、选择器小试牛刀----下拉框的值同时给文本框和文本域
相关连接:/thread-2780650-1-1.html
<script type="text/javascript" src="http://www.China-Staff-job.com/include/jquery/jquery-1.1.3.1.pack.js"></script> <input type="text" id="t2">
<textarea id="t3"></textarea>
<select id="select1">
<option value="">请选择</option>
<option value="我是aaa">aaa</option>
<option value="我是bbb">bbb</option>
</select>
<SCRIPT LANGUAGE="JavaScript">...
<!--
$("#select1").change(function()...{
$("#t2").val($("#select1").val());
$("#t3").text(($("#select1").children("option[@value="+$("#select1").val()+"]").text())); });
//-->
</SCRIPT>下面是lzyy同学的写法,更简单了。。。。选择器真是灵活啊,看来我要用到家,还有段路要走:)
$("textarea").html($("#select1 option:selected").text());
一个菜单伸缩效果,js代码加一起,包括$(document).ready一共6句话。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml" xml:lang="en-us">
<head>
<title>DL Demo</title>
<script src="/jquery-1.1.3.1.pack.js"></script> <script>...
$(document).ready(function()...{
$("dd:not(:first)").hide();
$("dt a").click(function()...{
$("dd:visible").slideUp("slow");
$(this).parent().next().slideDown("slow");
return false;
});
});
</script>
<style>...
body {...}{ font-family: Arial; font-size: 16px; }
dl {...}{ width: 300px; }
dl,dd {...}{ margin: 0; }
dt {...}{ background: #F39; font-size: 18px; padding: 5px; margin: 2px; } dt a {...}{ color: #FFF; }
dd a {...}{ color: #000; }
ul {...}{ list-style: none; padding: 5px; }
</style>
</head>
<body>
<dl>
<dt><a href="/">jQuery</a></dt>
<dd>
<ul>
<li><a href="/src/">Download</a></li>
<li><a href="/docs/">Documentation</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
</dd>
<dt><a href="/discuss/">Community</a></dt>
<dd>
<ul>
<li><a href="/discuss/">Mailing List</a></li>
<li><a href="/tutorials/">Tutorials</a></li>
<li><a href="/demos/">Demos</a></li>
<li><a href="/plugins/">Plugins</a></li>
</ul>
</dd>
<dt><a href="/dev/">Development</a></dt>
<dd>
<ul>
<li><a href="/src/">Source Code</a></li>
<li><a href="/dev/bugs/">Bug Tracking</a></li> <li><a href="/dev/recent/">Recent Changes</a></li> </ul>
</dd>
</dl>
</body>
</html>第一句:
$("dd:not(:first)").hide();
标签为dd的不是第一个的都给我藏好了
第二句:
$("dt a").click(function()...{
标签为dt,带链接的,还被点了的,给我听好了
第三句:
$("dd:visible").slideUp("slow");
标签为dd的,能看见的,给我慢慢的向上跑
第四句:
$(this).parent().next().slideDown("slow");
我的父母的左邻给我慢慢的向下滑
第五句:
return false;
你点了我,我也不给你转到指定的链接
哦,差点忘了最开头那句:
$(document).ready(function()...{
同志们,都准备好了吗,我要发号施令啦
1脚本方法外面中的jquery变量是按页面顺序加载的所以在调用页面中DOM对象时要注意在此之前该元素是否已定义基本过程中2获得的永…
jQuery学习总结因为项目需要同时也因为兴趣在近一段时间研究和使用了jQuery它真的是太强大了代码非常的优雅和简洁好后悔现在才…
Jquery学习心得jquery的ready方法比传统html中ltbodygt中的onload或是javascript的wind…
Jquery开始documentreadyfunction可缩写成function选择器引号中可以有多个一起选择id要求id唯一c…
一选择网页元素jQuery的基本设计和主要用法就是quot选择某个网页元素然后对其进行某种操作quot这是它区别于其他函数库的根本…
一简介11概述随着WEB20及ajax思想在互联网上的快速发展传播陆续出现了一些优秀的Js框架其中比较著名的有PrototypeY…
Jquery开始documentreadyfunction可缩写成function选择器引号中可以有多个一起选择id要求id唯一c…
一选择网页元素jQuery的基本设计和主要用法就是quot选择某个网页元素然后对其进行某种操作quot这是它区别于其他函数库的根本…
jQuery操作Table学习总结jQuery在客户端操作Table学习不过有很多很多的不足还需要学习掌握ltstyletypeq…
1、$(p).html(Hello$(p).text(Hellobworld/b!);bworld/b!);Html和text的区…