我在我的网站创建了一个contextmenu,显示在右键单击。 在这种情况下,我有一些子菜单会在菜单的正确位置显示。JavaScript上的身体溢出?
现在的问题是,如果您调用页面右侧的上下文菜单,没有足够的空间来显示子菜单,并且浏览器添加了一个水平滚动条。
如果浏览器中没有足够的空间,是否有JavaScript命令,或者您可以在哪里更改CSS中子菜单的位置?
我在我的网站创建了一个contextmenu,显示在右键单击。 在这种情况下,我有一些子菜单会在菜单的正确位置显示。JavaScript上的身体溢出?
现在的问题是,如果您调用页面右侧的上下文菜单,没有足够的空间来显示子菜单,并且浏览器添加了一个水平滚动条。
如果浏览器中没有足够的空间,是否有JavaScript命令,或者您可以在哪里更改CSS中子菜单的位置?
的你可以做什么草案可以发现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
变量应该是您希望上下文菜单更改位置的区域宽度。
谢谢你的快速回答。 刚刚改变了所需的东西,现在它的功能完美。 = D –
JavaScript!= Java,我修复了你的标签。 –