2

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

$('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();
    }
});

当用户只按一次左/右键时,它工作得很好。当用户长按左/右时,scolling 效果停止然后重新开始(只要按键被按下)。

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

可能的?

谢谢。

4

1 回答 1

2

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

setInterval()

每 200 毫秒左右调用一次滚动函数。

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

祝你好运

于 2012-12-31T08:43:28.707 回答