2012-05-05 49 views
2

我在我的网站创建了一个contextmenu,显示在右键单击。 在这种情况下,我有一些子菜单会在菜单的正确位置显示。JavaScript上的身体溢出?

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

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

+0

JavaScript!= Java,我修复了你的标签。 –

回答

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变量应该是您希望上下文菜单更改位置的区域宽度。

+0

谢谢你的快速回答。 刚刚改变了所需的东西,现在它的功能完美。 = D –