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

ユーザーが左右のキーを1回だけ押すと、かなりうまく機能します。ユーザーが左/右を長く押すと、スクロール効果が停止してから再び開始されます (キーが押されている限り)。

ユーザーが左/右を長時間押したときに、スクロールが停止/再開されないようにしたいと思います。しかし、左右のボタンが離されるまでスクロールを続けます。

可能?

ありがとう。

4

1 に答える 1

2

うん、それは可能だと思う。onKeyDownイベントで使用してみてください

setInterval()

約200ミリ秒ごとにスクロール関数を呼び出します。

次に、onKeyUpイベントを使用して関数を停止します(フラグまたはclearInterval()を使用)

幸運を祈ります

于 2012-12-31T08:43:28.707 に答える