2012-05-05 46 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 –