【发布时间】:2011-04-08 00:46:00
【问题描述】:
我想在按下右箭头键后移动一个 DOM 元素。
元素移动的距离应该与右箭头键的长度成正比。
我在想也许我可以使用这个 jQuery 插件来找出按下右箭头键的时间,然后将某个值添加到元素的 left css 值以使其看起来像是被移动了。
但是,我不知道如何进行这项工作。最好不要使用插件,而只使用与击键有关的 jQuery 方法?我只是需要一些帮助,找出实现这一目标的最简单、最有效的方法。
谢谢!
【问题讨论】:
我想在按下右箭头键后移动一个 DOM 元素。
元素移动的距离应该与右箭头键的长度成正比。
我在想也许我可以使用这个 jQuery 插件来找出按下右箭头键的时间,然后将某个值添加到元素的 left css 值以使其看起来像是被移动了。
但是,我不知道如何进行这项工作。最好不要使用插件,而只使用与击键有关的 jQuery 方法?我只是需要一些帮助,找出实现这一目标的最简单、最有效的方法。
谢谢!
【问题讨论】:
可能是这样的,只使用 jquery 你要移动的 div 有 ID="d"
$("body").keydown(function(e) {
var offset = 5;
if(e.keyCode == '39') {
var pos = $("#d").position();
$("#d").css('left', pos.left + offset);
}
else if(e.keyCode == '37') {
var pos = $("#d").position();
$("#d").css('left',pos.left - offset);
}
});
注意div必须有
position:absolute;
【讨论】: