身体上的JavaScript溢出?

时间:2012-05-05 12:54:58

标签: javascript css contextmenu overflow

我在我的网站上创建了一个上下文菜单,右键单击显示。 在那个上下文菜单中,我有一些子菜单会在菜单的正确位置上显示。

现在的问题是,如果你调出页面右侧的上下文菜单,则没有足够的空间来显示子菜单,浏览器会添加一个水平滚动条。

是否有任何JavaScript命令,或者如果浏览器中没有足够的空间,您可以在哪里更改CSS中子菜单的位置?

1 个答案:

答案 0 :(得分:1)

您可以执行的草稿 live on 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变量应该是您希望上下文菜单更改位置的区域宽度。