Webサイトにコンテキストメニューを作成しました。これは、右クリックで表示されます。そのコンテキストメニューには、メニューの右側のサイトに適用されるいくつかのサブメニューがあります。
問題は、ページの右側にあるコンテキストメニューを呼び出すと、サブメニューを表示するのに十分なスペースが残っておらず、ブラウザが水平スクロールバーを追加することです。
ブラウザに十分なスペースが残っていない場合に、CSSのサブメニューの位置を変更できるJavaScriptコマンドまたはその他のコマンドはありますか?
Webサイトにコンテキストメニューを作成しました。これは、右クリックで表示されます。そのコンテキストメニューには、メニューの右側のサイトに適用されるいくつかのサブメニューがあります。
問題は、ページの右側にあるコンテキストメニューを呼び出すと、サブメニューを表示するのに十分なスペースが残っておらず、ブラウザが水平スクロールバーを追加することです。
ブラウザに十分なスペースが残っていない場合に、CSSのサブメニューの位置を変更できるJavaScriptコマンドまたはその他のコマンドはありますか?
あなたができることのドラフトはJsBinでライブで見つけることができます
マウスの位置を簡単に取得して、ドキュメントの幅をもう一度確認できます。
コードは単純化のためにjQueryを使用しています。
$(document).mousemove(function(e){
  var CONTEXT_MENU_WIDTH = 200,
      pos = 'RIGHT';
  if( ($(document).width() - CONTEXT_MENU_WIDTH) < e.pageX )
    pos = 'LEFT';     
  $('#status').html(e.pageX +', '+ e.pageY);
  $('#position span').html(pos);
}); 
編集済み
位置をわかりやすくするために、単純な垂直線を追加しました。
CONTEXT_MENU_WIDTH変数は、コンテキストメニューの位置を変更する領域の幅である必要があります。