关于js遇到的问题

先上代码

//<!DOCTYPE html>
<html>
<head>
	<title>小太阳</title>
	<script type="text/javascript">
		<!--
		    directionX=1;//x轴的方向
		    directionY=1;//y轴的方向
		    sunX=0;//小太阳的坐标x
		    sunY=0;//小太阳的坐标y
			function sunMove(){
    
    
				var sundiv = document.getElementById('sundiv');
				sunX += directionX;
				sunY += directionY;
				//修改div的left top
			    sundiv.style.top=sunY+"px";
			    sundiv.style.left=sunX+"px";
				

				//x方法(offsetWidth可以返回,当前这个对象的实际宽度)
			    if(sunX+sundiv.offsetWidth>=document.body.clientWidth||sunX<=0){
    
    
			        directionX=-directionX;
		        }
		        //判断y
		        if(sunY+sundiv.offsetHeight>=document.body.clientHeight||sunY<=0){
    
    
			        directionY=-directionY;
		        }
			  
			}
			setInterval('sunMove()',5); 
		//-->
	</script>
</head>
<body style="background-image: url(./1.jpg);">
<div id="sundiv" style="position: absolute;">
	<img src="太阳.gif">
</div>
</body>
</html>

开始的时候加上DOCTYPE小太阳只会左右移动
最后发现是因为DOCTYPE的原因。

特别说明 可以使用doctype html 4.0 或者不写均可,但是用 xhtml 1.0不行因为 document.body.clientHeight为0

猜你喜欢

转载自blog.csdn.net/sodium_/article/details/105635957