Saya telah membuat fungsi javascript yang terlihat jika dia memiliki cukup ruang di sisi kanan. Jika sudah, dia akan menampilkannya di sisi kanan, kalau tidak dia akan menampilkannya di sisi kiri
Diuji di:
- Firefox (mac)
- Chorme (mac)
- Safari (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 });
}
});
});
karena saya tidak ingin menambahkan perbaikan ini pada setiap item menu yang saya buat kelas baru di atasnya. tempatkan menu tetap di ul:
<ul class="dropdown-menu fixed-menu">
Saya harap ini berhasil untuk Anda.
ps. bug kecil di safari dan chrome, hover pertama akan menempatkannya ke mutch ke kiri akan memperbarui posting ini jika saya memperbaikinya.