2011-12-07 7 views
3

私は今、一週間のためにグーグルでてきたと私はそれをすべてを結合する方法を理解していない:(scroll to next/prevのアンカーは、矢印キーまたはボタンを使用していますか?

私は矢印を使用してナビゲートすることができるようにしたい除いて、私は、thisに似水平ウェブサイトを作ってるんですthisに似水平ページのセクション間で前後に移動するためのキー

私は以下のページ見つけた関連研究:。

私が思い付くことができました最高のはこれですが、そのは動作していない:

$(document).bind('keydown',function(evt) { 
     switch(evt.keyCode) { 
     case 37: 
       evt.preventDefault(); 
       $.scrollTo('+=564px', 800, { axis:'x' }); 
        break; 
       } 
}); 


$(document).bind('keydown',function(evt) { 
     switch(evt.keyCode) { 
        case 39: 
       evt.preventDefault(); 
       $.scrollTo('-=564px', 800, { axis:'x' }); 
        break; 
       } 
}); 

はありだけのものではありません矢印キーや矢印ボタンを使用してスクロールできるアンカーやdivクラスを作成する方法はありますか?私はここでかなり失われています。たぶん私はあまりにも多くを求めている、誰かが、私は感謝されるだろう正しい方向に私を指すことができれば、感謝:)

+0

コードを投稿できないのはなぜですか?あなたがすでに持っているものを見るのが本当に助けになるでしょう。 –

+0

返信いただき、ありがとうございます。私のコードを更新し、返信を今読んでいます... –

答えて

0

は、次のコードは、右/左矢印キーの押下を検出します:

$("body").keydown(function(e) { 
    if (e.which == 37) { 
     // left arrow pressed 
    } 
    else if (e.which == 39) { 
     // right arrow pressed 
    } 
}); 

各条件にスライドロジックを追加するだけで済みます。

1
$('document').keypress(function(e) { 
    if (e.which == 38) { 
     //scroll up 
    } else if (e.which == 39) { 
     //scroll right 
    } else if (e.which == 40) { 
     //scroll down 
    } else if (e.which == 37) { 
     //scroll left 
    } 
}); 

使用.animate()がスクロール効果を行い、各ブロックであれば、それらのそれぞれのキーのデフォルトの移動を防止するためにe.preventDefault();を使用します。

関連する問題