Я створив функцію javascript, яка виглядає, чи достатньо йому місця з правого боку. Якщо він є, він покаже його з правого боку, інакше він покаже його з лівого боку
Випробувано в:
- Firefox (mac)
- Чорме (mac)
- Сафарі (mac)
Javascript:
$(document).ready(function(){
//little fix for the poisition.
var newPos = $(".fixed-menuprofile .dropdown-submenu").offset().left - $(this).width();
$(".fixed-menuprofile .dropdown-submenu").find('ul').offset({ "left": newPos });
$(".fixed-menu .dropdown-submenu").mouseover(function() {
var submenuPos = $(this).offset().left + 325;
var windowPos = $(window).width();
var oldPos = $(this).offset().left + $(this).width();
var newPos = $(this).offset().left - $(this).width();
if( submenuPos > windowPos ){
$(this).find('ul').offset({ "left": newPos });
} else {
$(this).find('ul').offset({ "left": oldPos });
}
});
});
тому що я не хочу додавати це виправлення в усі пункти меню, я створив у ньому новий клас. розмістіть фіксоване меню на ul:
<ul class="dropdown-menu fixed-menu">
Сподіваюся, це у вас вийде.
ps. маленька помилка в сафарі та хромі, спочатку наведіть курсор, щоб розмістити його зліва, оновить цю публікацію, якщо я це виправлю.