js实现星空案例

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>星星闪烁</title>
</head>
<body style="background:#000">
	<div id="stars"></div>
	<script>
		var stars=document.getElementById('stars');  //获取id为star_box的元素 
		 function drawStar(){     // 方法drawStar
		    var odiv = document.createElement('div');   //创建div
		    odiv.style.width = '7px';
		    odiv.style.height = '7px';
		    odiv.style.position = 'relative';   //设置div为相对定位
		    odiv.style.left = Math.floor(document.body.clientWidth*Math.random())+'px';   //div的left值不能超出屏幕的宽度
		    odiv.style.top = Math.floor(document.body.clientHeight*Math.random())+'px';//div的top值不能超出屏幕的高度
		    odiv.style.overflow = 'hidden';  //设置div的overflow为hidden
		    stars.appendChild(odiv);   //添加div到stars_box元素里面
			
		    var ostar = document.createElement('img');   //再创建img元素
		    ostar.style.width = '49px';
		    ostar.style.height = '7px';
		    ostar.src = './images/star.png';
		    ostar.style.position = 'absolute';   //设置img为绝对定位
		    ostar.style.top = '0px';
			ostar.style.left = '0px';
		    odiv.appendChild(ostar);   //把img添加到div中
			
		    Play(ostar);    //实现动画闪烁的方法Play();
		}
		//让星星闪烁

		function Play(ele){
		    var i = Math.floor(Math.random()*7);  //为了使星星不同时闪烁,设置随机值
		    var timer = setInterval(function(){     //每100ms执行一次匿名方法
			//从某个位置开始增加然后到达一定程度最大宽为42的时候置为0
		        if(i<7){
		            ele.style.left = -i*7+'px';
		            i++;
		        }else{
		            i = 0;
		        }  
		    },100);
		}
		 
		//使用for循环创建30个不同的对象
		for(var i=0; i<30; i++){ 
			drawStar();
		}
	</script>
</body>
</html>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值