我在JavaScript和jquery

时间:2015-11-04 22:30:28

标签: javascript jquery

我在学校准备Game Jam并遇到了问题。在这段代码中,我试图这样做,当你按下右箭头键时,它会移动角色。但是这个功能让它从右边而不是右边移动。

这是我的代码---

var main = function() {
    var moveRight = function() {}
    var wall = function() {
        wall = $('.header')
    }
    $(document).keypress(function(event) {
        if(event.which === 32) {
        $('.header').animate({
            bottom: "-31px"
            },1000)
        }
    });   
    $(document).keydown(function(event) {
        if(event.which === 39) {
            $('.character').animate({
                right: "400px"
            },1000)    
        }
    });
}
$(document).ready(main);

问题出在这里---

$(document).keydown(function(event) {
    if(event.which === 39) {
        $('.character').animate({
            right: "400px"
        },1000)    
    }
});

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在css中,right属性描述了元素右侧与其容器右侧之间的距离。考虑一个人站在"左墙"和#34;右墙"。在CSS中,如果他们有right: 0,他们的右侧正在接触右侧墙。使用right: 3px时,它们的右侧距离该墙3像素。如您所见,增加right移动元素LEFT 。您可能有兴趣使用left属性而不是right

$(document).keydown(function(event) {
    if (event.which === 39) {
        $('.character').animate({ left: "400px" }, 1000);
    }
});

注意

虽然它有一些应用程序,但在您的特定情况下混合leftright属性可能不是一个好主意。确保您再也不使用right属性,而是用right替换left的每个使用实例!