JQuery_案例2_抽奖_实现与JQuery_插件机制
JQuery_案例2_抽奖_实现
分析:
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.6.3.min.js"></script> <script language='javascript' type='text/javascript'> /* 分析: 1. 给开始按钮绑定单击事件 1.1 定义循环定时器 1.2 切换小相框的src属性 * 定义数组,存放图片资源路径 * 生成随机数。数组索引 2. 给结束按钮绑定单击事件 1.1 停止定时器 1.2 给大相框设置src属性 */ var imgs = ["../img/jd0jpg", "../img/jd1.jpg", "../img/jd2.jpg", "../img/jd3.jpg", "../img/jd4.jpg", "../img/jd5.jpg", "../img/jd6.jpg", "../img/jd7.jpg", "../img/jd8.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生成随机角标 0-6 index = Math.floor(Math.random() * 7);//0.000--0.999 --> * 7 --> 0.0-----6.9999 //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"> <!-- 停止按钮 --> <input id="stopID" type="button" value="点击停止" style="width:150px;height:150px;font-size:22px"> </body> </html>
JQuery_插件机制
1. 插件:增强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.6.3.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> //使用jquery插件 给jq对象添加2个方法 check()选中所有复选框,uncheck()取消选中所有复选框 //1.定义jqeury的对象插件 $.fn.extend({ //定义了一个check()方法。所有的jq对象都可以调用该方法 check:function () { //让复选框选中 //this:调用该方法的jq对象 this.prop("checked",true); }, uncheck:function () { //让复选框不选中 this.prop("checked",false); } }); $(function () { // 获取按钮 //$("#btn-check").check(); //复选框对象.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)
增强JQeury对象自身的功能 $/jQuery
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>01-jQuery对象进行方法扩展</title> <script src="../js/jquery-3.6.3.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(4,3); //alert(max); var min = $.min(1,2); alert(min); </script> </head> <body> </body> </html>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)