Sağ tarafta yeterli alan olup olmadığını gösteren bir javascript işlevi oluşturdum. Varsa sağ tarafta gösterecek, yoksa sol tarafta gösterecektir.
Test edilen yer:
- Firefox (mac)
- Chorme (mac)
- Safari (mac)
Javascript:
$(document).ready(function(){
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 });
}
});
});
çünkü bu düzeltmeyi, üzerinde yeni bir sınıf oluşturduğum her menü öğesine eklemek istemiyorum. sabit menüyü ul üzerine yerleştirin:
<ul class="dropdown-menu fixed-menu">
Umarım bu senin için sonuçlanır.
ps. Safari ve chrome'da küçük bir hata, ilk hover onu sola mutch yerleştirecek, eğer düzeltirsem bu yazıyı güncelleyecektir.