jQuery_05 插件机制

本课代码 原码(自定义插件和第三方插件)

<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<title>jQuery_05插件机制</title>
	<!-- 引入jQuery库 -->
	<!-- 课前回顾 
		1.事件加载DOM两种方式(顺序+个数)
		绑定事件的两种方式
			元素.事件名(回调函数)
			元素.on/bind(事件名,回调函数) 跟版本有关系
		解绑事件的两种方式 off/unbind
		事件的传播 从小到大传播 return false
		事件的坐标:pageX pageY
		合成事件:hover/toggle  toggle跟版本相关1.7+版本动画效果
		一次事件:one 

		2.动画效果
		自带动画:
				基本动画:show() hide() toggle()
				滑动动画:slideDown()	 slideUp()	slideToggle() 
				淡入淡出动画:fadeIn() fadeOut() fadeToggle()
		自定义动画:
				元素.animate({
					宽高top left "10xp" "+=5"
				},time)
			-->
			<style type="text/css">
					#myForm label.error{
						color: red;
						font-size: 14px;
					}
			</style>
	<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
	<script src="js/jquery.validate.js" type="text/javascript"></script>
	<!-- 引入jQuery表单验证类库 -->
	<script type="text/javascript">
		
		/* jQuery第五次课☞插件 */
		/*
		 * 区分java的类方法以及对象方法
		 * 	--类(静态)方法:例如DBHelper.getCon()
		 * 	--对象方法:StuDao sd = new StuDao(); sd.addStu();
		 */

		$(function () {
			/* 一、自定义插件 */
			//1.1 $.extend()实现对象继承
			//案例1:两个对象的继承
			// var s1={};
			// var s2={"name":"史华志"};
			// console.info("继承前: "+s1.name);
			// console.info("继承前: "+s2.name);
			// //开始继承
			// $.extend(s1,s2);//s1继承s2
			// console.info("继承后: "+s1.name);
			// console.info("继承后: "+s2.name);

			//1.2 $.extend()扩展jQuery类方法
			//案例2:求最大值(最小值)
			// $.extend({
			// 	abcd:function(){
			// 		alert(1234);
			// 	},
			// 	getMax:function(a,b){
			// 		return a>b?a:b;
			// 	},
			// 	getMin:function(a,b){
			// 		return a<b?a:b;
			// 	}
			// })
			// // $.abcd();
			// // var a=$.getMax(10,40);
			// // console.info(a);	

			// console.info($.getMin(10,30));

			//用全选框实现全选功能
			//1.3 $.fn.extend()扩展jQuery对象方法
			// $.fn.extend({
			// 	xx:function(){
			// 		$(this).each(function(i,ck){//下标,ck值每一个复选框
			// 			ck.checked=true;
			// 		})
			// 	},
			// 	yy:function(){
			// 		$(this).each(function(i,ck){//下标,ck值每一个复选框
			// 			ck.checked=false;
			// 		})
			// 	}
			// })
			//案例3:实现全选效果
			//用按钮实现
			// $("#ok").click(function(){
			// 	$(".aaa").xx();
			// })
			// $("#nook").click(function(){
			// 	$(".aaa").yy();
			// })
			//用复选框实现
			// $("#qx").click(function(){
			// 	//判断全选框是否选中
			// 	// console.info($(this).prop("checked"));
			// 	// if($(this).prop("checked")){//选中了
			// 	if($(this).is(":checked")){//is 也可以
			// 		$(".aaa").xx();//让其他复选框也选中
			// 	}else{
			// 		$(".aaa").yy();
			// 	}
			// })
			// //给其他复选框增加点击是事件
			// $(".aaa").click(function(){
			// 	var f=true;//假设全选是选中的
			// 	$(".aaa").each(function(i,ck){
			// 		if(ck.checked==false){//有任何一个复选框没有被选中
			// 			f=false;
			// 		}
			// 	})
			// 	$("#qx").prop("checked",f);//改变全选功能
			// })

			/* 二、第三方插件:表单验证插件 */
			//案例4:表单验证(用户名、密码、确认密码、年龄、邮箱、网址url)
			$("#myForm").validate({
				rules: {
					//表单字段规则
					uname: {
						required: true,
						rangelength: [6,10]
					},
					upwd1:"required",
					upwd2:{
						required:true,
						equalTo:"#upwd1"
					},
					uemail:{
						required:true,
						email:true
					},
					uage:{
						required:true,
						range:[1,150]
					},
					uurl:{
						required:true,
						url:true
					}
				},
				messages: {
					//错误信息提示
					uname: {
						required: "用户名必填",
						rangelength: "用户名长度必须在6-10之间"
					},
				}

			})
		})
	</script>
</head>

<body>
	<h2>案例3:自定义插件实现全选功能</h2>
	<input type="button" value="全选" id="ok">
	<input type="button" value="取消全选" id="nook">
	<input type="checkbox" id="qx">全选
	<input type="checkbox" value="看美女" class="aaa">看美女
	<input type="checkbox" value="上网课" class="aaa">上网课
	<input type="checkbox" value="打王者" class="aaa">打王者
	<h2>案例4:使用jQuery validation插件完成表单验证</h2>
	<form id="myForm">
		用户名:<input type="text" name="uname" /><br />
		密码:<input type="text" name="upwd1" id="upwd1"/><br />
		确认密码:<input type="text" name="upwd2" /><br />
		邮箱:<input type="text" name="uemail" /><br />
		年龄:<input type="text" name="uage" /><br />
		网址:<input type="text" name="uurl" /><br />
		<input type="submit" value="提交">
	</form>
</body>

</html>

区分java的类方法以及对象方法

类(静态)方法:列如DBHelper.getCon()

对象方法:StuDao sd = new StuDao(); sd.addStu();

 一、自定义插件

1.1 $.extend()实现对象继承

            // var s1={};
			// var s2={"name":"张三"};
            // //开始继承
			// $.extend(s1,s2);//s1继承s2
			// console.info("继承后: "+s1.name);
			// console.info("继承后: "+s2.name);

1.2 $.extend()扩展JQuery类方法

案例2:求最大值(最小值) 

            // $.extend({
			// 	getMax:function(a,b){//扩展一个求最大值的方法
			// 		return a>b?a:b;
			// 	},
			// 	getMin:function(a,b){//扩展一个求最小值的方法
			// 		return a<b?a:b;
			// 	}
			// })
            // // var a=$.getMax(10,40);//接收值
			// // console.info(a);	//打印值

			// console.info($.getMin(10,30));//直接打印

 //用全选框实现全选功能

            //1.3 $.fn.extend()扩展jQuery对象方法
			// $.fn.extend({
			// 	xx:function(){
			// 		$(this).each(function(i,ck){//下标,ck值每一个复选框
			// 			ck.checked=true;
			// 		})
			// 	},
			// 	yy:function(){
			// 		$(this).each(function(i,ck){//下标,ck值每一个复选框
			// 			ck.checked=false;
			// 		})
			// 	}
			// })

//案例3:实现全选效果

  //用按钮实现

            // $("#ok").click(function(){
			// 	$(".aaa").xx();
			// })
			// $("#nook").click(function(){
			// 	$(".aaa").yy();
			// })
			//用复选框实现
			// $("#qx").click(function(){
			// 	//判断全选框是否选中
			// 	// console.info($(this).prop("checked"));
			// 	// if($(this).prop("checked")){//选中了
			// 	if($(this).is(":checked")){//is 也可以
			// 		$(".aaa").xx();//让其他复选框也选中
			// 	}else{
			// 		$(".aaa").yy();
			// 	}
			// })
			// //给其他复选框增加点击是事件
			// $(".aaa").click(function(){
			// 	var f=true;//假设全选是选中的
			// 	$(".aaa").each(function(i,ck){
			// 		if(ck.checked==false){//有任何一个复选框没有被选中
			// 			f=false;
			// 		}
			// 	})
			// 	$("#qx").prop("checked",f);//改变全选功能
			// })

/* 二、第三方插件:表单验证插件 */

 //案例4:表单验证(用户名、密码、确认密码、年龄、邮箱、网址url)

 

$("#myForm").validate({
				rules: {
					//表单字段规则
					uname: {
						required: true,
						rangelength: [6,10]
					},
					upwd1:"required",
					upwd2:{
						required:true,
						equalTo:"#upwd1"
					},
					uemail:{
						required:true,
						email:true
					},
					uage:{
						required:true,
						range:[1,150]
					},
					uurl:{
						required:true,
						url:true
					}
				},
				messages: {
					//错误信息提示
					uname: {
						required: "用户名必填",
						rangelength: "用户名长度必须在6-10之间"
					},
				}

			})

效果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值