当用户按下键盘上的左/右键时,继续滚动

时间:2012-12-31 08:30:44

标签: jquery jquery-ui

我已经成功添加了按下键盘上的左/右键时滚动(左/右)的功能

$('body').keydown(function (e) {
    if (e.keyCode == 37) { // left
        $('html, body').stop().animate({
        scrollLeft: "-=980"
        }, 1000);
        e.preventDefault();
    }
    else if (e.keyCode == 39) { // right
        $('html, body').stop().animate({
        scrollLeft: "+=980"
        }, 1000);
        e.preventDefault();
    }
});

当用户在左/右键上按一次时,它工作得很好。当用户长时间向左/向右按下时,停止掠夺效果然后再次开始(只要按下该键)。

当用户长时间左/右按下时,我希望滚动不会停止/再次启动。但是继续滚动直到左/右按钮被释放。

可能的?

感谢。

1 个答案:

答案 0 :(得分:2)

是的,我认为这是可能的。 尝试在onKeyDown事件中使用

setInterval()

每隔200 ms左右调用滚动功能。

然后使用onKeyUp事件来停止该函数(使用标志或使用clearInterval())

祝你好运