0

Facebook と同様に、「J」キーと「K」キーを使用して投稿をナビゲートできます。jQuery プラグインを使用して、Web サイトで同じことを行いたいと考えています。私の論理では、投稿の見出しに 1、2、3、4 の名前を付けます。「J」または「K」キーを押すと、それぞれの名前付き見出しに自動的にスクロールします。私はそれをコーディングすることができません。そのためのプラグインが必要です。私はそれをグーグルで検索しようとしましたが、検索の用語を表現できません。どんな助けでも事前に感謝します。ありがとう!

4

3 に答える 3

1

本当にいくつかの拡張機能が必要な場合は、あなたがやっていることに最も近いものはthisまたはおそらくthisのように聞こえます。

編集:またはおそらくPageScroller

しかし、ほんの少しのコーディングでも構わないのであれば、JQuery には必要なもののほとんどが組み込まれているので、独自の拡張機能を作成することができます。何かのようなもの:

$(document).on('keypress', function(ev)
    {
        if (ev.which == '106')
        {
            $('html,body').scrollTop($("#nextPost").offset().top);
        } else if (ev.which == '107')
        {
            $('html,body').scrollTop($("#prevPost").offset().top);
        }
    });

短いバージョン:

$(document).on('keypress',function(e)
{
    id = (e.which == '106') ? getNextPost() :
         (e.which == '107') ? getPrevPost() : undefined;
    if (id) $('html,body').scrollTop($(id).offset().top);
}

#nextPost と #prevPost を、どの投稿が「アクティブ」かを追跡する関数に置き換えるだけです。私はしばしば、次のような小さなユーティリティ拡張機能を定義することから js ファイルを開始します。

$.extend({
    postRegister : {
        registry : '#defaultInitiallyActivePost',
        next : function() {
            this.registry = $(this.registry).next('.post').attr('id');
            return this.registry;
        },
        prev : function() {
            this.registry = $(this.registry).prev('.post').attr('id');
            return this.registry;
        }
    }
});

編集: ユーザーが手動で別の投稿にスクロールしたことをページで検出する場合は、スクロールバーが現在どこにあるかを確認し、ページ上の投稿要素を循環し、それらのオフセットを確認してどの投稿を決定するかを確認する関数を追加するだけです。見られています。

于 2013-06-18T14:29:41.540 に答える
0

あなたが何を求めているのかわからない、おそらく私のキーナビゲータープラグインがあなたを助けることができます. いくつかのコードまたはあなたが求めているものの例を教えてください。

于 2013-06-19T22:32:29.663 に答える