添加冷却到javascript键按下

时间:2016-04-26 22:24:56

标签: javascript jquery keycode

今天我有一个Jquery问题,使用密钥代码,我的代码在下面

$(function() {
    var distance = 0;
    $('.right').click(function() {
        distance -= 100;
        $('#container').css('transform', 'translateX(' + distance + '%)')
        console.log(distance);
    });
    $('.left').click(function() {
        distance += 100;
        $('#container').css('transform', 'translateX(' + distance + '%);')
        console.log(distance);
    });

    $(window).keypress(function (e) {
      var code = e.keyCode || e.which;
    if(code == 13) {
       $('.right').trigger('click')
    }
    if(code == 9) {
       $('.right').trigger('click')
    }
    if(code == 32) {
       $('.right').trigger('click')
    }
    if(code == 39) {
       $('.right').trigger('click')
    }
    });
});

所以我在按箭头按键时遇到了一些麻烦。

if(code == 32) {
    $('.right').trigger('click')
}
if(code == 39) {
    $('.right').trigger('click')
}

不仅如此,我似乎无法找到一种延迟(1s)的方法,所以当我只想要它做的时候它不会给距离var增加几百个它曾经,所以让我们说而不是延迟,冷静下来。

更新

我在谈论它的时候,我想问一下是否有人有任何解决办法来确定最高和最低金额

var distance = 0;

1 个答案:

答案 0 :(得分:2)

查看debounce所述的throttleforEach机制here。它应该可以帮助您实现延迟/冷却。