JQuery案例和插件机制
作者:互联网
案例—广告显示和隐藏
需求:
1、当页面加载完,3秒后。自动显示广告
2、广告显示5秒后,自动消失
分析:
1、使用定时器来完成,setTimeout(执行一次定时器)
2、分析发现JQuery的显示和隐藏动画效果其实就是控制display
3、使用 show/hide方法来完成广告的显示
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>广告的自动显示与隐藏</title> <style> #content{width:100%;height:500px;background:#999} </style> <!--引入jquery--> <script type="text/javascript" src="../../js/jquery-3.3.1.min.js"></script> <script> /* 需求: 1、当页面加载完,3秒后。自动显示广告 2、广告显示5秒后,自动消失 分析: 1、使用定时器来完成,setTimeout(执行一次定时器) 2、分析发现JQuery的显示和隐藏动画效果其实就是控制display 3、使用 show/hide方法来完成广告的显示 */ //入口函数,在页面加载完成后,定义定时器,调用两个方法 $(function () { //定义定时器,调用adShow方法,3秒后执行一次 setTimeout(adShow,3000); //定义定时器,调用adHide方法,8秒后执行一次 setTimeout(adHide,8000); }); //显示广告 function adShow() { //获取广告div,调用显示方法 $("#ad").show("slow"); } //隐藏广告 function adHide() { //获取广告div,调用隐藏方法 $("#ad").hide("slow"); } </script> </head> <body> <!-- 整体的DIV --> <div> <!-- 广告DIV --> <div id="ad" style="display: none;"> <img style="width:100%" src="../img/adv.jpg" /> </div> <!-- 下方正文部分 --> <div id="content"> 正文部分 </div> </div> </body> </html>
案例——抽奖
分析:
1、给开始按钮绑定单击事件
1.1、定义循环定时器
1.2切换小相框的src属性
定义数组,存放图片资源路径
生成随机数。数组索引
2、给结束按钮绑定单击事件
1.1、停止定时器
1.2、给大相框设置src属性
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery案例之抽奖</title> <script type="text/javascript" src="../../js/jquery-3.3.1.min.js"></script> <script> /* 分析: 1、给开始按钮绑定单击事件 1.1、定义循环定时器 1.2切换小相框的src属性 定义数组,存放图片资源路径 生成随机数。数组索引 2、给结束按钮绑定单击事件 1.1、停止定时器 1.2、给大相框设置src属性 */ var imgs = ["../img/man00.jpg", "../img/man01.jpg", "../img/man02.jpg", "../img/man03.jpg", "../img/man04.jpg", "../img/man05.jpg", "../img/man06.jpg",]; var startId;//开始定时器的id var index;//随机角标 $(function () { //处理按钮是否可以使用 $("#startID").prop("disabled",false); $("#stopID").prop("disabled",true); //1、给开始按钮绑定单击事件 $("#startID").click(function () { //1.1、定义循环定时器 20毫秒执行一次 startId = setInterval(function () { //处理按钮是否可以使用 $("#startID").prop("disabled",true); $("#stopID").prop("disabled",false); //1.2、生成随机角标 index = Math.floor(Math.random()*7); //1.3、设置小相框的src属性 $("#img1ID").prop("src",imgs[index]); },20) }); //2、给结束按钮绑定单击事件 $("#stopID").click(function () { //处理按钮是否可以使用 $("#startID").prop("disabled",false); $("#stopID").prop("disabled",true); //1.1、停止定时器 clearInterval(startId) //1.2、给大相框设置src属性 $("#img2ID").prop("src",imgs[index]).hide(); //1秒之后显示 $("#img2ID").show(1000); }); }); </script> </head> <body> <!-- 小像框 --> <div style="border-style:dotted;width:160px;height:100px"> <img id="img1ID" src="../img/man00.jpg" style="width:160px;height:100px"/> </div> <!-- 大像框 --> <div style="border-style:double;width:800px;height:500px;position:absolute;left:500px;top:10px"> <img id="img2ID" src="../img/man00.jpg" width="800px" height="500px"/> </div> <!-- 开始按钮 --> <input id="startID" type="button" value="点击开始" style="width:150px;height:150px;font-size:22px" onclick="imgStart()"> <!-- 停止按钮 --> <input id="stopID" type="button" value="点击停止" style="width:150px;height:150px;font-size:22px" onclick="imgStop()"> <script language='javascript' type='text/javascript'> //准备一个一维数组,装用户的像片路径 var imgs = [ "../img/man00.jpg", "../img/man01.jpg", "../img/man02.jpg", "../img/man03.jpg", "../img/man04.jpg", "../img/man05.jpg", "../img/man06.jpg" ]; </script> </body> </html>
插件机制
插件:增强JQuery的功能
1、实现方式:
1、$.fn.extend(object)
增强通过JQuery获取的对象的功能 $("#id")
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>01-jQuery对象进行方法扩展</title> <script src="../../js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> //使用jquery插件给jq对象添加两个方法 check()选中所有复选框,uncheck()取消选中所有复选框 //1、定义jquery的对象插件 $.fn.extend({ //定义一个check方法,所有的jq对象都可以调用该方法 check:function () { //让复选框选中 //this:调用该方法的jq对象 this.prop("checked",true); }, uncheck:function () { //让复选框不选中 this.prop("checked",false); } }); $(function () { //获取按钮 //复选框对象,check(); $("#btn-check").click(function () { //获取复选框对象 $("input[type='checkbox']").check(); }); $("#btn-uncheck").click(function () { //获取复选框对象 $("input[type='checkbox']").uncheck(); }); }) </script> </head> <body> <input id="btn-check" type="button" value="点击选中复选框" onclick="checkFn()"> <input id="btn-uncheck" type="button" value="点击取消复选框选中" onclick="uncheckFn()"> <br/> <input type="checkbox" value="football">足球 <input type="checkbox" value="basketball">篮球 <input type="checkbox" value="volleyball">排球 </body> </html>
2、$.extend(object)
增强JQuery对象自身的功能 $/JQuery
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>01-jQuery对象进行方法扩展</title> <script src="../../js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> //对全局方法扩展2个方法,扩展min方法:求2个值的最小值;扩展max方法:求2个值最大值 $.extend({ max:function (a,b) { //返回两数汇中的及较大值 return a >= b ? a : b; }, min:function (a,b) { //返回两数汇中的及较大值 return a<=b? a:b; } }); //调用全局方法 var max = $.max(1,5); alert(max); var min = $.min(2,1); alert(min); </script> </head> <body> </body> </html>
标签:JQuery,function,插件,定时器,img,..,jpg,prop,案例 来源: https://www.cnblogs.com/xjw12345/p/16607396.html