0

JQuery SmoothDivScrollプラグインを矢印キーボードキーで動作させる必要があります。マウスホイールやホットスポットと同様に、左右のキーでコンテンツをスクロールする必要があります。カスタムJQueryコードを使用してこれを実現するにはどうすればよいですか?

4

1 に答える 1

0

解決しました。解決策はきれいではありませんが、機能します。さらに、コードスニペットは別のコードファイルに移動する必要があります。TODO:リファクタリング。

1)「scrollableArea」divには属性tabindexが必要です。2)プラグインコードファイルでは、以下のコードステートメントを_create関数に追加する必要があります。現在、mousewheelイベントハンドラーからかなりコピーされているため、リファクタリングする必要があります

r.data("scrollableArea").keydown(function (e) {

            var arrow = { left: 37, up: 38, right: 39, down: 40 };
            var i,s,u;

            switch (e.keyCode || e.which) {

                case arrow.left:
                    i = 1;
                    s = 0;
                    u = 1;
                    break;

                case arrow.right:
                    i = -1;
                    s = 0;
                    u = -1;
                    break;
            }

                if (r.data("enabled") && n.mousewheelScrolling.length > 0) {
                    var a;
                    n.mousewheelScrolling === "vertical" && u !== 0 ? (t.stopAutoScrolling(), e.preventDefault(), a = Math.round(n.mousewheelScrollingStep * u * -1), t.move(a)) :
                    n.mousewheelScrolling === "horizontal" && s !== 0 ? (t.stopAutoScrolling(), e.preventDefault(), a = Math.round(n.mousewheelScrollingStep * s * -1), t.move(a)) :
                        n.mousewheelScrolling === "allDirections" && (t.stopAutoScrolling(), e.preventDefault(), a = Math.round(n.mousewheelScrollingStep * i * -1), t.move(a));
                }
            }),
于 2013-03-29T17:48:19.413 に答える