小言_互联网的博客

龟兔赛跑网页版

451人阅读  评论(0)

利用前端技术编写龟兔赛跑小动画

基于JavaScript的事件监听处理

HTML代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet" href="../css/mystyle.css" />
		<script type="text/javascript" src="../js/myjs.js" ></script>
	</head>
	<body> 
	
		<div id="map">
			<input type="button" value="开始" οnclick="start()"/>    
		</div>
		
		<img id="t" src="../img/tortoise.png" />
		<img id="r" src="../img/rabbit.png"/>
		
		<div id="result">
			兔子赢了!!!
		</div>
		
	</body>
</html>

CSS代码

#map{
	width: 800px;
	height: 400px;
	position: absolute;
	background-image: url(../img/background.jpg);
	left: 200px;
	top: 100px;
	border: solid 1px #2E8B57;
	text-align: center;
}
img{
	display: none;
	position: absolute;
	width: 32px;
	height: 32pxs;
}
#result{
	font-size: 25px;
	font-family: "楷体";
	margin-top: 50px;
	margin-left: 500px;
	display: none;
}

JS代码

var backgroundObj = -1;

function start(){
	if(backgroundObj!=-1){
		clearInterval(backgroundObj)
	}

	t = document.getElementById('t');
	r = document.getElementById('r');
	result = document.getElementById('result')

	t.style.left = '200px';
	t.style.top = '200px';
	
	
	r.style.left = '200px';
	r.style.top = '400px';
	
	t.style.display = 'block'
	r.style.display = 'block'
	result.style.display = 'none'
	
	setInterval(move, 100)
}

function move(){
	t = document.getElementById('t');
	r = document.getElementById('r');
	
	r_left = r.style.left
	t_left = t.style.left
	
	r_left = Number.parseInt(r_left.split('px')[0])
	t_left = Number.parseInt(t_left.split('px')[0])
	
	r_left += 7
	t_left += 5
	
	t.style.left = t_left + 'px';
	r.style.left = r_left + 'px';
	
	
	if(r_left >= 960 | t_left >= 960){
		clearInterval(backgroundObj)
		backgroundObj = -1
		result.style.display = "block"		
}

下面是浏览器运行结果:
这个运行结果大概就是这样,因为这是GIF图,所以会一直循环,但是效果就是这样的效果。(技术有限,欢迎各位大佬指点吐槽!)


转载:https://blog.csdn.net/zZZxiaozhi/article/details/101147727
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场