jQuery通过键盘上下左右键,移动层

今天做了一个小例子,想通过键盘的上下左右键来移动层,选择的方法是,层的绝对定位,但是一个方向上,只能走一步,javascript好使,jquery不好使。很纠结,我是一个... 今天做了一个小例子,想通过键盘的上下左右键来移动层,选择的方法是,层的绝对定位,但是一个方向上,只能走一步,javascript好使,jquery不好使。
很纠结,我是一个初学者,求高手指点。
$(document).keydown(function(event){
switch(event.which){
case 37:$("#person").css("left",((x-10)+"px"));break;
case 38:$("#person").css("top",((x-10)+"px"));break;
case 39:$("#person").css("left",((x+10)+"px"));break;
case 40:$("#person").css("top",((x+10)+"px"));break;
default:break;
}
});
#person 是需要移动的层的id。另外,如果左键和上键一起按,能不能让他走斜线啊,应该怎么处理???
展开
 我来答
cohao_lee
2012-02-16 · TA获得超过297个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:86.8万
展开全部
只走一步是因为移动一次后没有对x进行处理,所以点第二次的时候 x的值不变,x-10也不变,所以就不动了

<html>
<head>
<title>demo</title>
<style type="text/css">
.active
{
border: 1px solid red;
}
</style>
<script type="text/javascript" src="Scripts/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
var x = 0;//水平方向位移
var y = 0;//垂直方向位移
$(document).keydown(function (event) {
switch (event.which) {
case 37: y = y - 10; $("#person").css("left", y + "px"); break;
case 38: x = x - 10; $("#person").css("top", x + "px"); break;
case 39: y = y + 10; $("#person").css("left", y + "px"); break;
case 40: x = x + 10; $("#person").css("top", x + "px"); break;
default: break;
}
});
</script>
</head>
<body>
<div id="person" class="active" style="position: absolute; width: 50px; height: 50px;" />
</body>
</html>
asd472158231
2012-02-13 · TA获得超过289个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:105万
展开全部
$(document).ready(function(){
$(document).keydown(function(e){
switch(e.which){
case 37: $('#person').css('left','-=10');break;
case 38: $('#person').css('top','-=10');break;
case 39: $('#person').css('left','+=10');break;
case 40: $('#person').css('top','+=10');break;
}
});
}); 这样就可以了 如果两个键同时按的话就走斜线 测试成功
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zgh26782000
2012-02-12 · TA获得超过1453个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:494万
展开全部
设置x、y方向的标记,移动的时候判断这两个标记设置相应位置就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式