我在我的网站上创建了一个上下文菜单,右键单击显示。 在那个上下文菜单中,我有一些子菜单会在菜单的正确位置上显示。
现在的问题是,如果你调出页面右侧的上下文菜单,则没有足够的空间来显示子菜单,浏览器会添加一个水平滚动条。
是否有任何JavaScript命令,或者如果浏览器中没有足够的空间,您可以在哪里更改CSS中子菜单的位置?
答案 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
变量应该是您希望上下文菜单更改位置的区域宽度。