Ammiro tutti questi sforzi per convertire un menu in una barra dei menu perché detesto il tentativo di hackerare i CSS. Mi sembra di immischiarmi in poteri che non riesco mai a capire! Penso che sia molto più semplice aggiungere i file della barra dei menu disponibili allo menubar branch of jquery ui.
Ho scaricato la piena jQuery UI css file di bundle dal jquery ui download site
Nella testa del mio documento ho messo il file css jQuery UI che contiene tutto (io sono della versione 1.9.x al momento) seguita dal file CSS specifica per il widget barra dei menu scaricato dal menubar branch of 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" />
non dimenticate la cartella immagini con tutte le piccole icone utilizzate da jQuery UI deve essere nella stessa cartella del jquery-ui.css file.
Poi alla fine il corpo che ho:
<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>
che è una copia di una versione up-to-date di jQuery, seguita da una copia del file UI jQuery, allora il modulo barra dei menu scaricato da il file CSS menubar branch of jquery ui
la barra dei menu è piacevolmente breve:
.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; }
ma la barra dei menu file JavaScript è 328 linee - troppo lungo citare qui. Con esso, si può semplicemente chiamare barra dei menu() come in questo esempio:
$("#menu").menubar({
autoExpand: true,
menuIcon: true,
buttons: true,
select: select
});
Come ho detto, io ammiro tutti i tentativi di hackerare l'oggetto menu per trasformarlo in una barra orizzontale, ma ho trovato tutti loro mancava alcune funzionalità standard di una barra dei menu orizzontale. Non sono sicuro del motivo per cui questo widget non sia ancora associato all'interfaccia utente di jQuery, ma presumibilmente ci sono ancora alcuni bug da risolvere. Ad esempio, l'ho provato in IE 7 Quirks Mode e il posizionamento era strano, ma è ottimo in Firefox, Safari e IE 8+.
Questo sembra funzionare! Stavo restringendo accidentalmente la larghezza dell'html. Grazie per l'aiuto! – SQLiteNoob
Ciò ha reso l'elenco orizzontale per me, ma non ha reso i pulsanti nascosti in verticale. c'è un modo per posizionare i link sospesi? ecco il mio esempio http://jsfiddle.net/HSHEC/3/ – tdelaney18
Penso che sia più complicato di così. Questo non funziona con tutte le funzionalità standard di una barra dei menu orizzontale. Vedere la mia risposta qui sotto per un consiglio sul download del widget della barra dei menu dell'interfaccia utente jQuery (non ancora in bundle con il download ufficiale dell'interfaccia utente jQuery) – DavidHyogo