// 总条数 var num = 0; var timer = null; var actionTimer = null; var moveTimer = null; // 粉丝的昵称 var nameArr = ['鹅鹅鹅鹅鹅鹅','打嗝','旋风腿儿','霹雳腿儿','老寒腿儿','哇咔咔蹦跶']; // 粉丝说的话 var sayArr = ['没人','内容','空空风','美女姐姐','小阔爱','老阔爱']; // 动作 var actionArr = ['dancing-left','dancing-right','dancing-down','dancing-up','dancing-wobble','dancing-wobble-right']; // 人物位移动画 var moveArr = ['run-right','run-left','run-right-top','run-left-top','run-right-bottom','run-left-bottom']; var peopleId = 0; // 窗体宽度 var winWidth = $(window).width(); // 窗体高度 var winheight = $(window).height(); //控制速度1px var speed = 1; var upTimer = null,downTimer = null,leftTimer = null,rightTimer = null; var suiDanTimer = null; var startIndex = 0; // 集体舞 function allDancing(dangcing){ if(dangcing!=''){ clearInterval(upTimer); clearInterval(downTimer); clearInterval(leftTimer); clearInterval(rightTimer); actionArr.forEach((item,index)=>{ var haveDan = $(`.people-img`).is(`.${item}`); if(haveDan){ $(`.people-img`).removeClass(item); // $(`.people-img`).addClass(actionArr[Math.floor(Math.random()*actionArr.length)]); $(`.people-img`).addClass(dangcing); } }) setTimeout(()=>{ console.log('关闭集体舞'); clearInterval(actionTimer); startIndex = 0; var allPeople = $('.dance-floor').find('.people-img').length; suiDanTimer = setInterval(()=>{ if(startIndex==allPeople){ clearInterval(suiDanTimer); } else { startIndex++; $(`.data${startIndex} .people-img`).addClass(actionArr[Math.floor(Math.random()*actionArr.length)]); } },3000) },3000) } } // 随机舞 function randomDancing(id){ actionTimer = setInterval(()=>{ actionArr.forEach((item,index)=>{ // var chooseIdex = Math.floor(Math.random()*num); var haveDan = $(`.data${id} .people-img`).is(`.${item}`); if(haveDan){ $(`.data${id} .people-img`).removeClass(item); $(`.data${id} .people-img`).addClass(actionArr[Math.floor(Math.random()*actionArr.length)]); } }) },3000) } // 随机位移 function moveEv(id){ var odiv = document.getElementById(`peopleId${id}`); var typeMove = Math.floor(Math.random()*4); switch (typeMove){ case 0: upMove(odiv); break; case 1: downMove(odiv); break; case 2: leftMove(odiv); break; case 3: rightMove(odiv); break; } } // 上 function upMove(obj){ upTimer = setInterval(()=>{ if(obj.offsetTop < 100){ clearInterval(upTimer); downMove(obj); } else { obj.style.top = obj.offsetTop-speed+'px'; } },10) } // 下 function downMove(obj){ downTimer = setInterval(()=>{ if(obj.offsetTop > 500){ clearInterval(downTimer); upMove(obj); } else { obj.style.top = obj.offsetTop+speed+'px'; } },10) } // 左 function leftMove(obj){ leftTimer = setInterval(()=>{ if(obj.offsetLeft > 1500){ clearInterval(leftTimer); rightMove(obj); } else { obj.style.left = obj.offsetLeft+speed+'px'; } },10) } // 左 function rightMove(obj){ rightTimer = setInterval(()=>{ if(obj.offsetLeft < 150){ clearInterval(rightTimer); leftMove(obj); } else { obj.style.left = obj.offsetLeft-speed+'px'; } },10) } // 关闭说话 function closeSay(index){ $(`.data${index} .speak`).addClass("dn"); } // 开启说话 function sayIng(index){ $(`.data${index} .speak`).removeClass("dn"); setTimeout(()=>{ closeSay(index); },6000) } // 退出广场 function exitEv(id){ $(`${id}`).remove(); } // 进入广场 function peopleObj(name,say,action,move){ // 开始说话 sayIng(peopleId); randomDancing(peopleId); let yspHtml = ''; let yspData = [ { id:peopleId++, top:`${Math.random()*500}px`, left:`${Math.random()*1500}px`, name:name,//用户名 say:say,//说话内容 peopleImg:`people-img0${Math.floor(Math.random()*6+1)}`,//人物图片 ying_guang:`stick-0${Math.floor(Math.random()*5+1)}`,//荧光棒 dancin:action, peopleMove:move } ] $.each(yspData, function (commentIndex, comment) { yspHtml += `