function star(aDiv){//传入所有div,相应div变,oDiv和aDiv for(var i=0;i<aDiv.length;i++){ //建立索引值(建立在事件外,事件内部获取索引值靠this引入) aDiv[i].index=i; //建立所有子div的点击事件 aDiv[i].onclick=function(){ //建立一个所有子div的循环,在点击事件触发的时候先清空所有星星样式,让其全为灰色 for(var k=0;k<aDiv.length;k++){ aDiv[k].style.backgroundPosition="0 0px"; } //建立变量num,让其等于索引值+1 var num=this.index+1; //循环从开始到点击到的所有子div,然后改变图片的定位位置 for(var j=0;j<num;j++){ aDiv[j].style.backgroundPosition="0 28px"; } } } } function select(oAll,aCheck){//全选,全选下所有选择按钮 oAll.onclick=function(){ //循环除了全选外的所有多选框 for(var i=0;i<aCheck.length;i++){ //this指向的是全选div,即点击全选时所有多选按钮的状态变的和全选框状态一样; aCheck[i].checked=this.checked; } } //循环除了全选外的所有多选按钮 for(var i=0;i<aCheck.length;i++){ //当子元素多选框被点击时发生的时间 aCheck[i].onclick=function(){ //建一个变量用来后面储存数组个数 var num=0; //循环数组 for(var j=0;j<aCheck.length;j++){ //判断当子复选框被选中时让变量num+1, if(aCheck[j].checked==true) { num++; } } //当num值等于数组长度即所有子项都被选中 if(num==aCheck.length){ //所有子项被选中时让全选也被选中 oAll.checked=true; } else{ //反之不被选中 oAll.checked=false; } } } } function distinct(arr){//传入一个随机数组进行去重 //建立一个空数组用来存值 var newArr=[]; //循环遍历数组 for(var i=0;i<arr.length;i++){ //当输入进来的数组不存在该值的时候添加该值,否则不添加 if(newArr.indexOf(arr[i])==-1){ //像新数组中添加值 newArr.push(arr[i]); } } //返回新数组 return newArr; } function random(num,max){//生成num个 0到max的随机数 //建数组arr存用户输入的值 0到max var arr=[]; //建数组newarr存 arr中的随机数 var newarr=[]; //循环添加arr数组中的值,0到max之间所有值 for(var i=1;i<max;i++){ arr.push(i); } //循环次数是num,就是取多少次随机数添加到newarr中 for(var i=0;i<num;i++){ newarr.push(arr.splice(Math.floor(Math.random()*arr.length),1)); } //跟数组排序 var rua=newarr.sort(function(x,y){ return x-y; }); //返回排序后的数组 return rua; } function copy1(json){//json深度拷贝 var newJson = {}; for(var i in json){ if(typeof json[i] == "object"){ newJson[i] = copy(json[i]); }else { newJson[i] = json[i]; } } return newJson; } function copy2(json) {//json深度拷贝2 var newJson={}; for(x in json){ if(json[x] instanceof Array){ newJson[x]=[]; for(y in json[x]){ if(json[x][y] instanceof Object){ obj(newJson[x],json[x],y); }else{ newJson[x][y]=json[x][y] } } }else if (json[x] instanceof Object){ obj(newJson,json,x) }else{ newJson[x]=json[x] } } function obj(newJson,oldJson,x) { var m; newJson[x]={}; for(m in oldJson[x]){ newJson[x][m]=oldJson[x][m] } } return newJson } function dedupe(array) {//数组去重新方法 return [new Set(array)] } function Add(arr){ //用法:输入一个值累加从1到这个值的和 //1到n的和 //判断递归的值是否到1 if(arr==1){ //如果到1就返回1 return 1; } //不然就返回输入值然后在执行下一级那个函数 return arr+Add(arr-1); } function rabbit(arr){//数兔子函数 兔子问题 //当用户输入1或者2的时候返回固定值 if(arr==1||arr==2){ return 2 } //如果不是1或者2则返回他前面的2个值之和 return rabbit(arr-2)+rabbit(arr-1); } function Uncertain(){//不定参求和 //建个变量用来储存实参和 var j=0; //循环所有实参 for(var i=0;i<arguments.length;i++){ //让所有遍历的实参等于j j+=arguments[i]; } //返回j return j; } function getByClass(oParent,sClass)//传入他的父级和索要获取的类名 { //建一个变量获取父级下的所有元素 var aEle=oParent.getElementsByTagName('*'); //建一个数组 var aResult=[]; //建立正则查看匹配类名 var re=new RegExp('\\b'+sClass+'\\b','i'); //循环所有子元素的长度 for(var i=0;i<aEle.length;i++) { //如果当前子项存在该类名 if(re.test(aEle[i].className)) { //将子项添加到数组中 aResult.push(aEle[i]); } } //返回数组 return aResult; } function addEvent(odiv,eve,fn,boll){//事件监听的兼容 if(odiv.addEventListener){ odiv.addEventListener(eve,fn,boll); } else if(odiv.attachEvent){ odiv.attachEvent("on"+eve,fn); } } var timer=null; function moveStart(iTarget)//写外面 流氓网站滚动条 { var oDiv = document.getElementById('div'); clearInterval(timer); timer = setInterval(function () { var iSpeed = (iTarget - oDiv.offsetTop) / 4; iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed); if (oDiv.offsetTop == iTarget) { clearInterval(timer); } else { oDiv.style.top = oDiv.offsetTop + iSpeed + 'px'; } }, 30) }
function getcookie(key){//获取cookie var xxx=document.cookie; var oDate=new Date(); oDate.setDate(oDate.getDate()+30); var result=[]; var oName=[]; var oValue=[]; var rua_2=xxx.split(";"); for(var i=0;i<rua_2.length;i++){ result.push(rua_2[i].split("=")) } for(var j=0;j<result.length;j++){ oName.push(result[j][0]); oValue.push(result[j][1]); } for(var k=0;k<oName.length;k++){ oName[k]=oName[k].replace(" ",""); } for(var z=0;z<oName.length;z++){ if(oName[z]==key){ return [oName[z],oValue[z]]; } } }
function setcookie(key,value,time){//设置cookie var date=new Date(); date.setDate(date.getDate()+time); document.cookie=`${key}=${value};expires=`+date; } function delcookie(key){ setcookie(key,getcookie(key)[1],-1); //rua }
function ajax(way,url,date,obj){//ajax封装 var xhr=null; if(window.XMLHttpRequest){ xhr=new XMLHttpRequest(); }else{ xhr=new ActiveXObject("Microsoft.XMLHTTP"); } if(way=="get"){ xhr.open(way,url+"?"+date,true); xhr.send(); xhr.onreadystatechange=function(){ if(xhr.readyState==4){ if(xhr.status==200){ obj.innerHTML=xhr.responseText ; } } } } else{ xhr.open(way,url,true); xhr.setRequestHeader("content-type","application/x-www-form-urlencoded"); xhr.send(date); xhr.onreadystatechange=function(){ if(xhr.readyState==4){ if(xhr.status==200){ obj.innerHTML=xhr.responseText; } } } } }
function setcookie(key ,value ,time){ //设置cookie time= new Date() ; time. setDate(time. getDate()+ 30) ; document. cookie= `${key} =${value} ;expires=`+time ;}