|
|
@@ -199,6 +199,21 @@
|
|
|
|
|
|
opt.$menu.css(offset);
|
|
|
},
|
|
|
+ // 有的电脑会出现主菜单和子菜单距离比较远的情况,这里检查一下。
|
|
|
+ checkSubmenuPosition: function ($menu) {
|
|
|
+ if (!$menu) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const parentOffsetWidth = $menu.parentElement.offsetWidth;
|
|
|
+ const curLeft = parseFloat(window.getComputedStyle($menu).left) || 0;
|
|
|
+ const maxDiff = 8;
|
|
|
+ const minDiff = 4;
|
|
|
+ const diff = parentOffsetWidth - curLeft;
|
|
|
+ if (diff > maxDiff || diff < minDiff) {
|
|
|
+ const fixedLeft = parentOffsetWidth - 5;
|
|
|
+ $menu.style.left = `${fixedLeft}px`;
|
|
|
+ }
|
|
|
+ },
|
|
|
// position the sub-menu
|
|
|
positionSubmenu: function ($menu) {
|
|
|
if (typeof $menu === 'undefined') {
|
|
|
@@ -224,6 +239,7 @@
|
|
|
};
|
|
|
$menu.css(offset);
|
|
|
}
|
|
|
+ defaults.checkSubmenuPosition($menu[0]);
|
|
|
},
|
|
|
// offset to add to zIndex
|
|
|
zIndex: 1,
|