我在我的網站創建了一個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,我修復了你的標籤。 –