J'admire tous ces efforts pour convertir un menu pour une barre de menu parce que je déteste vraiment essayer de hack CSS. Il se sent juste comme je suis l'ingérence de puissances je ne peux jamais comprendre! Je pense que c'est beaucoup plus facile d'ajouter de la barre de menu fichiers disponibles dans la barre de menus de la branche de jquery ui.
J'ai téléchargé le plein de jquery ui css livré fichier à partir de l' interface utilisateur de jquery site de téléchargement de
Dans la tête de mon document, j'ai mis le jquery ui fichier css qui contient tout (je suis sur la version 1.9.x à l'instant), suivie par le fichier CSS du widget barre de menus téléchargé à partir de la barre de menus de la branche de jquery ui
<link type="text/css" href="css/jquery-ui.css" rel="stylesheet" />
<link type="text/css" href="css/jquery.ui.menubar.css" rel="stylesheet" />
N'oubliez pas le dossier images avec toutes les petites icônes utilisées par jQuery UI doit être dans le même dossier que le jquery-ui.fichier css.
Puis à la fin le corps, j'ai:
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.9.0.custom.min.js"></script>
<script type="text/javascript" src="js/menubar/jquery.ui.menubar.js"></script>
C'est une copie d'un up-to-date de la version de jQuery, suivie par une copie de l'INTERFACE utilisateur de jQuery, la barre de menu du module téléchargé à partir de la barre de menus de la branche de jquery ui
La barre de menu fichier CSS est étonnamment court:
.ui-menubar { list-style: none; margin: 0; padding-left: 0; }
.ui-menubar-item { float: left; }
.ui-menubar .ui-button { float: left; font-weight: normal; border-top-width: 0 !important; border-bottom-width: 0 !important; margin: 0; outline: none; }
.ui-menubar .ui-menubar-link { border-right: 1px dashed transparent; border-left: 1px dashed transparent; }
.ui-menubar .ui-menu { width: 200px; position: absolute; z-index: 9999; font-weight: normal; }
mais la barre de menu fichier JavaScript est 328 lignes - trop long de citer ici. Avec elle, vous pouvez simplement appeler menubar() comme dans cet exemple:
$("#menu").menubar({
autoExpand: true,
menuIcon: true,
buttons: true,
select: select
});
Comme je l'ai dit, j'admire toutes les tentatives de hack le menu objet pour le transformer en une barre horizontale, mais j'ai trouvé tous manqué de quelques la fonction standard d'une barre de menu horizontale. Je ne sais pas pourquoi ce widget n'est pas fourni avec jQuery UI encore, mais sans doute il y a encore quelques bugs à régler. Par exemple, je l'ai essayé sous IE 7 en Mode Quirks et le positionnement était étrange, mais il ressemble beaucoup dans Firefox, Safari et IE 8+.