2017-12-21 5 views
0

スクロールでケースを切り替えるにはどうすればいいですか?スクロールするたびにケースを一方向に変更し、スクロールすると別の方向にケースを変更するようにしますか?私はそれが理にかなったことを願うスクロールでケースを切り替える方法

(私はスクロールをクリック意味するものではありません)。ここ

は私がホットキーを使用して何をしたいのかやった方法ですが、今回は私がホットキーを使用したくない、私は、スクロール機能を使用したいです

document.addEventListener('keydown', function (e) { 
    if (ws) { 
     switch (e.keyCode) { 
      // T 
      case 84: 
       if (player.items[ITEM_TYPE.WINDMAIL]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.WINDMAIL].id + ",null]"); 
       break; 

      // G 
      case 71: 
       e.stopPropagation(); 
       if (player.items[ITEM_TYPE.SPIKES]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.SPIKES].id + ",null]"); 
       break; 

      // Z 
      case 90: 
       e.stopPropagation(); 
       if (player.items[ITEM_TYPE.EXTRAS]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.TURRET].id + ",null]"); 
       break; 

      // F 
      case 70: 
       e.stopPropagation(); 
       if (player.items[ITEM_TYPE.PITTRAP]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.PITTRAP].id + ",null]"); 
       break; 

     } 
    } 
}, true); 

とうまく動作しますが、同じことをすることは可能ですが、代わりにスクロールするようにしたいと思います!

お手伝いできますか?あなたはaddEventListenerを使用して、スクロールイベントをリッスンすることができます

+3

'scroll'イベントリスナーがあります:https://developer.mozilla.org/en-US/docs/Web/Events/scroll – AJFarmar

+1

私はこのケースで'スイッチ/ case'を使用していないだろうが、しかし、。 –

答えて

1

(ここでは文書化:https://developer.mozilla.org/en-US/docs/Web/Events/scroll)を

例えば

window.addEventListener('scroll', function(e) { 
    // do something 
}); 

または一度

document.querySelector('.my-scrollable-box').addEventListener('scroll', function(e) { 
    // do something 
}); 

あなたのUIの中に小さなボックスのスクロールイベントをキャプチャします最後に知っているスクロール位置を追跡して、スクロールして上下にスクロールするかどうかを確認できます。

var last_known_scroll_position = 0; 
window.addEventListener('scroll', function(e) { 
    if (window.scrollY > last_known_scroll_position) { 
    // the user scrolled down 
    } else { 
    // the user scrolled up 
    } 
    last_known_scroll_position = window.scrollY; 
} 
+0

そう...だろうこの作品?: 'window.addEventListener( 'スクロール'、機能(E){ (WS){ スイッチ(expr)は{ ケース '風車' の場合: (プレイヤーならば。アイテム[ITEM_TYPE.WINDMAIL])ws.send( "42 [\" 5 \ "" + player.items [ITEM_TYPE.WINDMAIL] .ID + "NULL]"); ブレーク; }}} 、true); ' これはケースの1つのみであることを覚えておいてください。 – TigerYT

+0

' ws'と 'expr'が何であるかわからないので、私はそれ以上の文脈なしでは答えられません。あなたは本当にスイッチステートメント。何故ですか? – olleicua

+0

また、何をしようとしていますか?あなたは本当にここに多くの文脈を提供していません – olleicua

関連する問題