2016-08-20 7 views
-2

私は、矢印キーを使ってリストを下にスクロールさせたいと思います。これは実装されています。位置に基づいて同じキーで複数のアクションをJquery

ユーザーは、最後のアイテムにヒットしたときに次のリストを読み込むことができるはずです。これも実装されています。

私は、ユーザーが1つのリストの上から下のキーを押したまま、決して離さないようにしたいと思います。

キーアップイベントをクライアントに「プッシュ」する方法はありますか?リストの一番下に達すると、手動で下矢印キーを再度押す必要があります。


編集:役立つ場合は、コードを追加してください。私が今行う必要がある何

$(document).keydown(function(e) { 
    switch(e.which) { 
    case 40: 
     var lineID = Number($('.active').data('lineid')); 
     if(lineID != Number($('body > span').last().data('lineid'))) { 
     //update lineID to next number and activate next line 
     } 
     if(lineID == Number($('body > span').last().data('lineid'))) { 
     //update location to next list article 
     } 
     break; 
    default: return; 
    } 
    e.preventDefault(); 
}); 

、ダウンキーを保持し、底に達した後、すべてのリストをロードするからユーザーを防ぐ何とかです。私は理想的には、何らかの形でキーアップイベントを「プッシュ」すると満足できるものだと思っています。これにより、ユーザーはすぐに下にスクロールすることができますが、次のリストを読み込むためにもう一度「下に」押しなければなりません。

+2

ため、このコードは? –

+0

@SandeepNayak悲しいことにここにはいないが、どこかで私が推測する。 – Script47

+0

@victorouxあなたは自分のコードを試しましたか? –

答えて

0

利用コードがあること

// A variable to check when user is at the end of page 
var endOfPage = false; 

// keydown handler 
$(document).keydown(function(e){ 
if(endOfPage==false){ 
    // Do our thing 
    switch(e.keyCode){ 
    case 40: // down 

     console.log('down'); 
     break; 

    case 38: // up 

     console.log('up'); 
     break; 

    } 
} 
}); 
$(window).on('scroll',function(){ 
    if($(window).scrollTop() + $(window).height() == $(document).height()) { 
     //user is at the bottom of page 
     endOfPage = true; 
    } 
}); 

// keyup handler 
$(document).keyup(function(e){ 
    endOfPage = false; 
}); 
+0

ユーザーがダウンキーを上げないとどうなりますか?彼らはそれが全体の時間を押され続けている場合、キーアップイベントが存在しないため、ユーザーがページの下部にダウンキーを送信するのを止める方法はありません。または私は誤読ですか? – victoroux

+0

はい、私は別のコントロールを作成していることを忘れているので、ページの最後に行くと変数がtrueに変わり、変数がfalseの場合はコントロールをスクロールさせます。私のコード内のコメントを読む –

+0

あなたは私がconsole.log( 'down')を作ったコードを置くべきです。 –

関連する問題