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){ var cookie=document.cookie; var arr=[]; var oName=[]; var oValue=[]; //将数组以;分割 var newcookie=cookie.split(";"); for(var i=0;i<newcookie.length;i++){ //将数组以=分割 arr.push(newcookie[i].split("=")); } // 循环添加key值和value值 for(var j=0;j<arr.length;j++){ oName.push(arr[j][0]); oValue.push(arr[j][1]); } //清除空格 判断返回数组 卓著牛逼 卓著天秀 for(var k=0;k<oName.length;k++){ oName[k]=oName[k].replace(" ",""); if(oName[k]==key){ return [oName[k],oValue[k]]; } } } function setcookie(key,value,time){//设置cookie time=new Date(); time.setDate(time.getDate()+30); document.cookie=`${key}=${value};expires=`+time; }
一些小节
猜你喜欢
转载自blog.csdn.net/thinkingw770s/article/details/80959633
今日推荐
周排行