龟兔赛跑网页版

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

基于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图,所以会一直循环,但是效果就是这样的效果。(技术有限,欢迎各位大佬指点吐槽!)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值