Jquery加强

1、扩展

css属性中的transition属性

作用:实现一些动画效果

<style type="text/css">
	div{
		width: 100px;
		height: 100px; 
		border: #0000FF solid 5px;
		background-color: red;
		transition: background-color 3s,width 1s,transform 1s;	
	}
	div:hover{
		background-color: #FFFF00;
		width: 200px;
		transform: scale(1.5);
	}
</style>
效果是:背景色3秒变化到另一种,宽度1秒完成变形,大小变化1秒完成

2、表单验证和日期插件验证

使用的插件:

<script src="js/jquery-1.3.2.js"></script>

<script src="js/jquery.validate.min.js"></script>

<script src="js/jquery.datepick.js"></script>  这是日期插件

<link rel="stylesheet" href="css/jquery.datepick.css" type="text/css" /> 日期显示样式

	<script type="text/javascript">
			$(function() {
				//为生日输入框添加日期插件
				$("input[name=birthday]").datepick({dateFormat:"yy-mm-dd"});
				
				//为验证插件添加自定义规则
				//如果想要激活一下的回调函数,需要两个条件
				//1、必须使用自定义规则
				//2、还要点击提交按钮
				$.validator.addMethod("sfz",function(value){
					//该回调函数,必须告诉jQuery表单验证插件,验证的结果使成立还是失败
					document.title = value;
					var re = /^\d{18}$|^\d{17}X$/;
					//当函数返回true,表示验证成功,返回false表示验证失败,如果验证失败就提示错误信息
					return re.test(value);
					
				});
				//为制定的form表单添加验证规则
				//validate函数,只要传入一个参数,该参数就是一个json
				//该json需要两个属性:rules messages
				$("#testForm").validate({
						rules:{
							realname:{
								required:true
							},
							loginname:{
								required:true,
								minlength:5,
								maxlength:8
							},
							pwd1:{
								required:true,
								rangelength:[6,12]
							},
							pwd2:{
								equalTo:"input[name=pwd1]"
							},
							gender:{
								required:true
							},
							age:{
								required:true,
								//min:20,
								//max:50
								range:[18,30]
							},
							edu:{
								min:1
							},
							like:{
								required:true
							},
							email:{
								email:true
							},
							idcard:{
								sfz:true
							},
							xyk:{
								creditcard:true
							}
						},
						messages:{
							realname:{
								required:"真实姓名必填"
							},
							loginname:{
								required:"登录名必须填写",
								minlength:"至少5列",
								maxlength:"至多8列"
							},
							pwd1:{
								required:"密码必填",
								rangelength:"密码必须在6~12之间"
							},
							pwd2:{
								equalTo:"两次密码不一致"
							},
							age:{
								required:"请填写年龄",
								//min:"年龄不能小于20岁",
								//max:"年龄不能大于50岁"
								range:"年龄要在18到30岁之间"
							},
							edu:{
								min:"学历必须有"
							},
							email:{
								email:"这不是一个邮箱"
							},
							idcard:{
								sfz:"这不是中国身份证"
							},
							xyk:{
								creditcard:"这不是有效的卡号"
							}
						}
				});
			})
		</script>
3、json使用

$(function(){
	/*
	* json.javascript原生对象
	* 1、json又叫直接量,必须用{}括起来
	* 2、属性和属性值之间用:连接
	* 3、属性和属性之间用“,”连接
	* 4、属性和属性值都需要用双引号引起来,如果属性值使数字,则引号可以不打
	*/
	var p = {
		"id":1,
		"name":"张三丰",
		"age":100
		};
	document.write(p.id+"<br />");
	document.write(p.name+"<br />");
	document.write(p.age)
})

4、鼠标事件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			body{
				/*鼠标箭头变为手指为poniter变为十字为crosshair要变为空是none*/
				cursor: none;
			}
		</style>
		<script src="js/jquery-1.11.0.js"></script>
		<script type="text/javascript">
			$(function(){
				/*$("div:eq(0)").click(function(){
					$("div:eq(0)").append("你单击了我<br>");
				});
				$("div:eq(0)").dblclick(function(){
					$(this).append("你双击了我<br />");
				});
				$("div:eq(0)").mousedown(function(){
					$(this).append("鼠标按下了<br />");
				});
				$("div:eq(0)").mouseup(function(){
					$(this).append("鼠标抬起了<br />");
				});
				$("div:eq(0)").mouseover(function(){
					$(this).append("鼠标移进了<br />");
				});
				$("div:eq(0)").mouseout(function(){
					$(this).append("鼠标移出了<br />")
				});
				
				$("div:eq(0)").mousemove(function(){
					$(this).append("鼠标在移动<br />");
				});*/
				
				/*
				 * //事件冒泡,在由一个tr进入另一个tr的时候也会执行同样的两个操作
				 * $("table:eq(0)").mouseover(function(){
					alert("鼠标移进了")
				});
				
				$("table:eq(0)").mouseout(function(){
				    alert("鼠标移出了");
				});*/
				
				/*$("table:eq(0)").mouseenter(function(){
					alert("鼠标进入了");
				});
				
				$("table:eq(0)").mouseleave(function(){
					alert("鼠标移出了");
				})*/
				
				//演示鼠标事件对象
				/*
				 * 每次鼠标事件发生时,浏览器除了会执行事件处理函数以外,还会创建一个鼠标事件对象
				 * 浏览器还把这个鼠标事件对象自动传入给事件处理函数中,该对象存放了鼠标事件发生时的鼠标坐标
				 */
				/*$("div:eq(0)").mousemove(function(e){
					$(this).html(e.pageX+":"+e.pageY);
				})*/
				
				$(document).mousemove(function(e){
					$("img:eq(0)").css("position","absolute");
					$("img:eq(0)").css("left",e.pageX);
					$("img:eq(0)").css("top",e.pageY);
				})
				
				
				function f1(){
					//当不传参的时候可以使用arguments数组接收参数
					alert(arguments[0]+":"+arguments[1]);
				}
				f1(1,2);
			})
		</script>
	</head>
	<body>
		<div style="height: 400px;height: 400px;border: red solid 1px;">
			
		</div>
		<table id="a2" height="200" width="400" border="1">
			<tr>
				<td>1</td>
				<td>2</td>
				<td>3</td>
			</tr>
		</table>
		<img src="img/lye.jpg" width="30px" height="50px"/>
	</body>
</html>
5、键盘事件

实现利用ASWD对一张图片进行移动

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/jquery-2.0.2.min.js"></script>
		<script type="text/javascript">
			/*事件:   动作
			事件源:     动作的承受着
			事件处理程序:  动作发生之后,浏览器回调的函数*/
			$(function(){
				
				var left=false,right=false,up=false,down=false;
				
				$(document).keydown(function(e) {
					switch(e.keyCode) {
						case 65:
							left = true;
						break;
						case 68:
							right = true;
						break;
						case 87:
							up = true;
						break;
						case 83:
							down = true;
						break;
					}
				});
				$(document).keyup(function(e) {
					switch(e.keyCode) {
						case 65:
							left = false;
						break;
						case 68:
							right = false;
						break;
						case 87:
							up = false;
						break;
						case 83:
							down = false;
						break;
					}
				});
				

				var x = 0, y = 0;
				function move() {
					document.title = new Date().getSeconds();
					if(left) {	
						x--;
						$("img:eq(0)").css("left",x);
					}
					if(right) {	
						x++;
						$("img:eq(0)").css("left",x);
					}
					if(up) {	
						y--;
						$("img:eq(0)").css("top",y);
					}
					if(down) {	
						y++;
						$("img:eq(0)").css("top",y);
					}
				}

				setInterval(move,1);
			})
		</script>
	</head>
	<body>
		<img src="img/lye.jpg" width="150" height="200" style="position: absolute;"/>
	</body>
</html>
6、焦点事件

实现了多级联动

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/jquery-2.0.2.min.js"></script>
		<script type="text/javascript">
			$(function(){
				/*$("input:eq(0)").focus(function(){
					$(this).val("获取到焦点了");
				})
				$("input:eq(0)").blur(function(){
					$(this).val("失去焦点了");
				});
				$("input").change(function(){
					alert("hello");
				})*/
				$("select:eq(0)").change(function(){
					$("select:eq(1)").empty();
					switch ($(this).val()){
						case "0":
							break;
						case "1":
							$("select:eq(1)").append($("<option>曹操</option>"));
							$("select:eq(1)").append($("<option>司马懿</option>"));
							$("select:eq(1)").append($("<option>典韦</option>"));
							break;
						case "2":
							$("select:eq(1)").append($("<option>刘备</option>"));
							$("select:eq(1)").append($("<option>诸葛亮</option>"));
							$("select:eq(1)").append($("<option>张飞</option>"));
							break;
						case "3":
							$("select:eq(1)").append($("<option>孙权</option>"));
							$("select:eq(1)").append($("<option>周瑜</option>"));
							$("select:eq(1)").append($("<option>太史慈</option>"));
							break;
					}
				})
			})
		</script>
	</head>
	<body>
		<input type="text" />
		<select>
			<option value="0">请选择国家</option>
			<option value="1">魏国</option>
			<option value="2">蜀国</option>
			<option value="3">吴国</option>
		</select>
		<select>
			
		</select>
	</body>
</html>
7、其他事件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/jquery-2.0.2.min.js"></script>
		<script type="text/javascript">
			$(function(){
				//文本框内容选中事件
				$("input").select(function(){
					alert(123);
				});
				
				//窗口大小变化事件
				$(window).resize(function(){
					var r = parseInt(Math.random()*256);
					var g = parseInt(Math.random()*256);
					var b = parseInt(Math.random()*256);
					$("body").css("backgroundColor","rgba("+r+","+g+","+b+",1)");
				});
				
				//滚动条事件
				$(window).scroll(function(){
					document.title = document.body.scrollTop;
				})
				
			})
		</script>
	</head>
	<body>
		<input type="text" />
		<div style="margin-top: 2000px;"></div>
	</body>
</html>
8、基本动画

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#a{width: 100px; height: 100px; background-color: red; float: left;}
			#b{width: 100px; height: 100px; background-color: yellow; float: left;}
			#c{width: 100px; height: 100px; background-color: blue; float: left;}
			#d{width: 100px; height: 100px; background-color: gold; float: left;}
		</style>
		<script src="js/jquery-2.0.2.min.js"></script>
		<script type="text/javascript">
			$(function(){
				$("div:eq(0)").slideUp(1000).slideDown(1000).slideToggle(1000).slideToggle(1000);
				$("div:eq(1)").fadeOut(1000).fadeIn(1000).fadeToggle(1000).fadeToggle(1000);
				$("div:eq(2)").hide(1000).show(1000).toggle(1000).toggle(1000);
				$("div:eq(3)").fadeTo(1000,0.3);
				
				//回调函数
				function f1(){
					$("img:eq(0)").fadeOut(1000,function(){
						$("img:eq(0)").attr("src","img/lbb.jpg");
					}).fadeIn(1000);
				}
				f1();
				
				//$("img:eq(0)").clearQueue();停止动画队列
			})
		</script>
	</head>
	<body>
		<div id="a">
			123
		</div>
		<div id="b">456</div>
		<div id="c">456</div>
		<div id="d">456</div>
		<img src="img/lye.jpg" width="200px" height="200px" />
	</body>
</html>









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值