浏览器动态移动的小球源码分享

浏览器动态移动的小球源码分享 

<script>
	(function(a){
		  var width=100,height=100,borderRadius=100,
		  circle=function(){};
		  circle.prototype={
		  	  color:function(){
		  	  	let colour =  "#"+Math.floor(Math.random()*255).toString(16)
		  	  			+Math.floor(Math.random()*255).toString(16)
		  	  			+Math.floor(Math.random()*255).toString(16)
		  	  			console.log(colour);
		  	  	return colour;
		  	  },
		  	  drawCircle:function(clientX,clientY){
		  	  	let ele = document.createElement("div");
		  			 		let colo=new circle().color();
		  			 		ele.style.width=width+"px";
		  			 		ele.style.height=height+"px";
		  			 		ele.id="id_"+new Date().getTime();
		  			 		ele.style.borderRadius=borderRadius+"px";
		  			 		ele.style.position="absolute";
		  			 		ele.style.top=clientY+"px";
		  			 		ele.style.left=clientX+"px";
		  			 		ele.style.boxShadow= "0 3px 8px "+colo+", 0 0 76px "+colo+" inset";
		  			 		document.body.appendChild(ele);
		  			 		var maxWidth = document.body.clientWidth;
								var maxHeight = document.body.clientHeight;
								let way = Math.floor(Math.random()*3);
								localStorage.setItem(ele.id,"1");
		  			 		setInterval(function(){
		  			 				let flag = localStorage.getItem(ele.id);
		  			 				let o = document.getElementById(ele.id);
		  			 				let y ;
		  			 			  let x ;
		  			 			  
		  			 			  if(flag=="1"){
		  			 			  	 y = (new Number(o.style.top.replace("px",""))+1);
		  			 			  	 x = (new Number(o.style.left.replace("px",""))+1);
		  			 			  	 if(y>=maxHeight-100 || x>= maxWidth-100){
		  			 			  	 		localStorage.setItem(ele.id,"0");
		  			 			  	 }
		  			 			  }else{
		  			 			  	 y = (new Number(o.style.top.replace("px",""))-1);
		  			 			  	 x = (new Number(o.style.left.replace("px",""))-1);	
		  			 			  	 if(y<=0 || x<= 0){
		  			 			  	 		localStorage.setItem(ele.id,"1");
		  			 			  	 }
		  			 			  }
		  			 			  
		  			 			  console.log(x,y);
		  			 			  if(way==0){
			  			 				o.style.top=y+"px";
			  			 				o.style.left=x+"px";
			  			 			}else if(way==1){
			  			 				o.style.left=x+"px";
			  			 			}else if(way==2){
			  			 				o.style.top=y+"px";
			  			 			}
		  			 		},10);
		  	  },
		  		drow:function(obj){
		  			 obj.addEventListener("click",function(e){
		  			 		new circle().drawCircle(e.clientX,e.clientY);
		  			 })
		  		},
		  		autoDraw:function(){
		  			setInterval(function(){
		  					var maxWidth = document.body.clientWidth;
								var maxHeight = document.body.clientHeight;
		  				  let clientX=Math.floor(Math.random()*maxWidth);
		  				  let clientY=Math.floor(Math.random()*maxHeight);
		  					new circle().drawCircle(clientX,clientY);
		  			},1000)	;
		  		}
		  },
		  Rander=function(){
		  	return new circle();
		  },
		  R=function(obj){
		  	Rander().drow(obj);
		  	Rander().autoDraw();
		  }
			onload=R(a);
	})(window)
</script>

效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值