【发布时间】:2016-05-01 04:54:48
【问题描述】:
我正在学习使用 html、css 和 jquery 使角色在屏幕上移动的教程。 我不确定为什么箭头键没有使角色移动。当我按向左、向上、向右或向下键时,唯一发生的事情是左侧和底部的滚动条移动。怎么了??
$(function() {
var player = '<div id="player"></div>';
$("#map").append(player);
$(document).keydown(function(e) {
//alert(e.keyCode);
var position = $("#player").position();
switch (e.keycode) {
case 37: //left
$("#player").css('left', position.left - 20 + 'px');
break;
case 38: //up
$("#player").css('top', position.top - 20 + 'px');
break;
case 39: //right
$("#player").css('left', position.left + 20 + 'px');
break;
case 40: //down
$("#player").css('top', position.top + +'px');
break;
}
});
});
#player {
position: absolute;
background: url("http://tse1.mm.bing.net/th?&id=OIP.M0268adc5eb05ad8612f14346c852f3dbo0&w=121&h=186&c=0&pid=1.9&rs=0&p=0&r=0") no-repeat;
width: 165px;
height: 175px;
}
#map {
position: relative;
border: 1px solid black;
height: 600px;
width: 800px;
}
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="maze.css" />
</head>
<body>
<h1>Maze</h1>
<div id="map"></div>
<div id="output"></div>
</body>
</html>
【问题讨论】:
-
这一行:$("#player").css('top', position.top + +'px');
标签: javascript jquery html css css-position