我试图让div左右移动,但我的动画似乎被忽略了...任何想法我做错了什么?
JS:
$(document).ready(function(){
$(document).keydown(function (e) {
var keyCode = e.keyCode || e.which,
arrow = {left: 37, up: 38, right: 39, down: 40 };
switch (keyCode) {
case arrow.left:
$('#block').animate({"left": "-=1px"}, "slow");
break;
case arrow.right:
$('#block').animate({"left": "+=1px"}, "slow");
break;
}
});
});
CSS:
body{
font-family:arial, verdana;
color:#000;
font-size:12px;
}
#block {
width:50px;
height:50px;
border:1px solid #ff0000;
}
答案 0 :(得分:2)
将#block
设为position:absolute
或position: relative
,这意味着提供一些position
属性。
#block {
width:50px;
height:50px;
border:1px solid #ff0000;
position:absolute
}
<强> DEMO 强>
因为动画中的left
更改了元素的left
CSS属性,而left
属性适用于CSS position
。
答案 1 :(得分:1)
检查更新JSFiddle:
body{
font-family:arial, verdana;
color:#000;
font-size:12px;
}
#block {
width:50px;
height:50px;
border:1px solid #ff0000;
position:absolute;
top:0;
left:0;
}