Ich bin derzeit in einer Navigationsabteilung mit einem jquery-basierten Akkordeon ausgestattet, aber einige Teile der Navigation müssen nicht Teil des Akkordeons sein (wenn es keine Kategorien gibt) frage ich mich nur, ob es möglich ist, sie zu deaktivieren Teile des Akkordeons oder nicht?
Ich habe das Gefühl, das könnte unmöglich sein, aber diese Seite hat mich schon einmal überrascht:)
Vielen Dank.
Eine einfache Möglichkeit, die unbind-Methode zu verwenden:
%Vor%
Hinzufügen des ui-state-disabled in den Elementen, die Sie deaktivieren möchten.
Wie für einen Heimlink? Ich wollte einen Home Link, der "regelmäßig" an der Spitze meines Akkordeons steht. Ich verwende Google 1.8 Version der Benutzeroberfläche:
%Vor%Nicht minimiert:
%Vor%Ich habe das Akkordeon ein wenig in seiner _clickHandler-Methode (Zeile 5834-ish) gehackt. Ich habe den folgenden Code direkt nach dem "var clicked=" hinzugefügt:
%Vor%Ich habe die Option linkDisabled zum Plugin hinzugefügt. Auf diese Weise können Sie eine Klasse für die Links im Akkordeon-Objekt definieren, die deaktiviert sind. z.B.:
%Vor%und hier ist das umgeschriebene Plugin:
%Vor%Sie können dafür das Ereignis 'beforeActivate' verwenden.
Fügen Sie Ihrem h3-Element eine Deaktivierungsklasse hinzu
%Vor%Setzen Sie die untere Funktion auf das Ereignis 'beforeActivate'. Auf das Header-Objekt kann über das Objekt 'ui.newHeader' zugegriffen werden. Testen Sie, ob die Kopfzeile die 'accordionDisable' Klasse hat, wenn 'true', dann 'false' und der Akkordeonbereich nicht mehr aktiviert wird.
%Vor%Um den Akkordeonbereich zu aktivieren, entfernen Sie die 'accordionDisable' Klasse
%Vor%Verwenden Sie Klassen für den Abschnitt, den Sie einschließen möchten, und erstellen Sie einen spezifischeren CSS-Selektor beim Initialisieren des Akkordeons.
Marcggs Antwort scheint auf dem richtigen Weg zu sein. Was Sie tun könnten, ist, den Links, die Sie im Akkordeon aktivieren möchten, eine Klasse hinzuzufügen, die href von ihnen zu erhalten und dann durch die Einstellung von window.location in der URL zu navigieren.
%Vor%Ich hatte das gleiche Problem. Ich wollte ein div einstecken, das kein Teil des Akkordeons war. Es war ein div, während die anderen Elemente im Akkordeon waren. Ich fügte die Überschrift hinzu: '' Option und dies verhinderte, dass die Klassen zu dem div hinzugefügt wurden, das ich hatte.
Ich hatte ein ähnliches Problem. Ich brauchte ein 5-teiliges Akkordeon, aber die letzten beiden Teile waren nicht zugänglich, bis die ersten drei Teile (die zu verschiedenen Aktionen führten) fertiggestellt waren. Hier ist, wie ich es gehandhabt habe (mit 2 separaten Akkordeons):
HTML:
%Vor%Javascript:
%Vor%Auf diese Weise richten wir das zweite Akkordeon so ein, dass es deaktiviert ist. Außerdem erhält es die CSS-Klasse 'blased_out', die eine gewisse Deckkraft bietet und den Mauszeiger als Standard für Anker setzt. Wenn schließlich ein Akkordeon angeklickt wird, setzt es "Aktivieren" auf "Falsch" auf der anderen Seite, um das andere Akkordeon zu schließen und es so aussehen zu lassen, als wären sie Teil desselben Akkordeons. Das funktioniert sehr gut für mich.
P.S. Meine App ist auf Schienen, und um zu erkennen, ob das zweite Akkordeon aktiviert werden soll (über die ReleaseAccordion2-Funktion), suche ich nach einer Klasse ('complete'), die im ersten Akkordeon an die h3 übergeben wird (via eingebettetem Ruby) .
Ich kann nicht scheinen, die Lösungen zu erhalten, um mit der Version von jQuery UI zu arbeiten Ich benutze ATM (Version 1.8)
Ich habe eine andere Lösung gefunden;
%Vor%