本地运行是可以的,但是提交就是不行,题目让使用es5,以下代码中有es6写法,哪位大佬自己去用es5玩吧
首先是css美化一下啊
b { display: block; width: 30px; height: 30px; float: left; text-align: center; line-height: 30px; border-radius: 50%; border: 1px solid #112234; margin: 2px; } .article{ background: red; } .balls-wp{ overflow: hidden; }
js代码
var arrRed=[],//红球节点 arrBlue=[];//蓝球节点 a = [],//红球随机数 b = []//蓝球随机数 //获取红球随机 function Rdm(arr) { if (arr.length >= 6) { return arr.sort(function(a,b){ return a-b }) } else { let Num = arrRed[Math.floor(Math.random() * arrRed.length)] if (arr.indexOf(Num) == '-1') { arr.push(Num) } //递归调用本身 return Rdm(arr) } } //红球选中 添加删除节点 function replace(arr1, cosArr) { for(let i =0;i<cosArr.length;i++){ //获取父节点 var box=document.querySelector('.balls-wp'); //创建文本 var p0=document.createElement("b"); //添加文本样式 p0.classList.add("article") //创建节点 var txt=document.createTextNode(cosArr[cosArr.length-1-i]); //添加节点 p0.appendChild(txt); box.insertBefore(p0,document.querySelector('.balls-wp').childNodes[0]); } arr1.forEach((ele,index) => { if(cosArr.indexOf(ele.innerText)!='-1'&&index>6){ //删除重复节点 document.querySelector('.balls-wp').removeChild(ele) } }) } //蓝球添加 删除节点 和上面基本一样 懒得优化了 function Replace(arr1, cosArr) { for(let i =0;i<cosArr.length;i++){ var box=document.querySelectorAll('.balls-wp')[1]; var p0=document.createElement("b"); p0.classList.add("article") var txt=document.createTextNode(cosArr[0]); p0.appendChild(txt); box.insertBefore(p0,document.querySelectorAll('.balls-wp')[1].childNodes[0]); } arr1.forEach((ele,index) => { if(cosArr.indexOf(ele.innerText)!='-1'&&index>1){ document.querySelectorAll('.balls-wp')[1].removeChild(ele) } }) } //获取所有节点 function nodetype (ar,arr){ for (var i = 0; i < ar.length; i++) { if (ar[i].nodeType == 1) { //判断节点是否为元素节点 arr.push(ar[i].innerText) } } } //红球随机数 function randomFn() { //获取所有红球节点 var red = document.querySelector('.balls-wp').childNodes nodetype(red,arrRed) //获取所有蓝球节点 var blue = document.querySelectorAll('.balls-wp')[1].childNodes nodetype(blue,arrBlue) //抽取蓝球 b.push(arrBlue[Math.floor(Math.random() * arrBlue.length)]) //抽取红球 Rdm(a,arrRed) //红球位置更换 replace(red,a) //蓝球位置更换 Replace(blue,b) //返回格式 return a.join(',')+'|'+b[0] } randomFn();