本文共 2399 字,大约阅读时间需要 7 分钟。
自己测试过,目前没发现逻辑存在问题。如有问题,请多多指教必定改正。
该功能主要是项目需要,假如有指定数量轮次比赛,人为将结果一次性提交,但提交之前必须先验证,如一场比赛有5局3胜决定胜负,如果你提交前面两轮为空,后面三局胜利,这明显是不符合逻辑的。
请转载此文的朋友务必附带原文链接,谢谢。
原文链接:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | <!DOCTYPE html> < html > < head > < meta charset= "utf-8"> < title >dddd</ title > < script src = "jquery-1.9.1.min.js" ></ script > < style > *{ margin: 0px; padding: 0px; list-style: none; } .win-list{ width: 300px; padding-top: 30px; margin: auto; } .win-list li{ height: 25px; } p{ width: 15px; height: 15px; border: solid 1px #96E555; float: left; margin-left: 15px; } p.active{ background: red; } .test{ text-align: center; } </ style > </ head > < ul class = "win-list" > < a ></ a > < li >< p ></ p >< p ></ p ></ li > < li >< p ></ p >< p ></ p ></ li > < li >< p ></ p >< p ></ p ></ li > < li >< p ></ p >< p ></ p ></ li > < li >< p ></ p >< p ></ p ></ li > </ ul > < div class = "test" > < button id = "test" style = "margin: auto;" >test</ button > < button id = "reset" >重置</ button > </ div > < body > < a >测试</ a > < script > $(function(){ $(".win-list li p").on("click",function(){ $(this).addClass("active").siblings().removeClass("active"); }) $("#reset").on("click",function(){ $(".win-list li p").removeClass("active"); }) $("#test").on("click",function(){ var a = 0,b = 0,arr = [],arra = [],arrb = [],arrc = []; $(".win-list li").each(function(i,v){ if($(this).find("p").eq(0).hasClass("active")){ a++; arra.push(i); arr.push(i); }else if($(this).find("p").eq(1).hasClass("active")){ b++; arrb.push(i); arr.push(i); } }) if(a !== 3 && b!== 3){ //3 代表比赛赢的次数 该出判断如果胜局不等于3局,则不合法 console.log("结果不合法"); return false; } console.log(arr); for(var j = 0; j < 5; j++){ //5代表比赛总局数 if(arr[j] !== j){ //如果中间有轮成绩为空,跳过,则不合法 console.log("结果不合法"); return false; } arrc.push(j); } if(arrc.toString() === arra.toString() && arrb.length !== 0){ console.log("结果不合法"); //如果a代表队前三局都胜,而b代表队后面两局还有成绩,则不合法 return false; } if(arrc.toString() === arrb.toString() && arra.length !== 0){ console.log("结果不合法"); //如果b代表队前三局都胜,而a代表队后面两局还有成绩,则不合法 return false; } console.log("结果合法"); }) }) </ script > </ body > |