2011-09-01 82 views
2

我試圖找到最簡單的代碼,無論是獨立的還是與jQuery,這樣做:當我在我的鍵盤上按j, m重定向到下面的div,當我按k時,我被髮回到上面的div。如果它可以順利滾動,則可以加分。導航到'j'和'k'鍵的頁面

+2

你不能給加分,所以不要騙我! – Loktar

+1

可能的重複http://stackoverflow.com/questions/2168739/using-arrow-keys-with-jquery-scrollto – CashIsClay

+0

我的意思是加分比喻,哈哈。 Artsemis,我沒有看到這個問題,我在發佈之前做過搜索,但無論如何都很抱歉。 – Edvard

回答

0

我想在這樣的方式做到這一點使用jQuery:

$(document).keydown(function (e) { 

    // Handle only [J] and [K]... 
    if (e.keyCode < 74 || e.keyCode > 75) { 
     return false; 
    } 

    // Find the "active" container. 
    var active = $('div.active').removeClass('active'); 
    var newActive; 

    // Handle [J] event. 
    if (e.keyCode == 74) { 
     newActive = active.next('div'); 

     //if (newActive.index() == -1) { 
     // newActive = $('div', container).last(); 
     //} 
    } 
    // Handle [K] event. 
    else if (e.keyCode == 75) { 
     newActive = active.prev('div'); 

     //if (newActive.index() == -1) { 
     // newActive = $('div', container).first(); 
     //} 
    } 

    if (newActive !== undefined) { 
     newActive.addClass('active'); 
     $(document).scrollTop(newActive.position().top); 
    } 
});