我正在寫一個jQuery插件來爲元素添加上下文菜單。 現在,我需要修復上下文菜單的位置。如果沒有足夠的空間從鼠標底部顯示整個上下文菜單,則應該從鼠標頂部顯示。 我嘗試了一些東西,但沒有像我想要的那樣工作。從鼠標點(以及更多)jQuery位置元素
這裏是jsFinddle代碼:http://jsfiddle.net/evandroprogram/pRPQq/
謝謝。
我正在寫一個jQuery插件來爲元素添加上下文菜單。 現在,我需要修復上下文菜單的位置。如果沒有足夠的空間從鼠標底部顯示整個上下文菜單,則應該從鼠標頂部顯示。 我嘗試了一些東西,但沒有像我想要的那樣工作。從鼠標點(以及更多)jQuery位置元素
這裏是jsFinddle代碼:http://jsfiddle.net/evandroprogram/pRPQq/
謝謝。
在這裏你去隊友,我已經分叉並更新你的小提琴這裏
http://jsfiddle.net/joevallender/j5Vy9/
的代碼改變是本
var screenBottom = $(window).scrollTop() + $(window).height();
var menuHeight = _contextMenu.height();
var menuBottom = menuHeight + options.positionY;
if(menuBottom > screenBottom) {
_contextMenu.css({
top: "-=" + menuHeight
})
}
只是你設置_contextMenu.css(後襬)
編輯只是再次測試,這不是像素完美,但它確實工作,應該給喲你一個體面的線索,如果你想調整它:)
謝謝!我們很近! – evsar3
爲了完美對齊,只需用_contextMenu.outerHeight()替換'_contextMenu.height()'謝謝。 – evsar3
+1好打電話! 'outerHeight()'當然是最好的東西 – joevallender
謝謝@Logard – evsar3