Antworten auf deine Fragen:
Neues Thema erstellen

jquery slide-funktion will nicht stoppen

M

maharet

Guest

hi leuts,

bin am verzweifeln mit einer navi die ich in typo3 bastle und mit jquery animieren möchte... hoffe von euch kann mir jemand helfen.

derzeit sieht meine navi so aus (Bsp):

<ul class="menu_class">
<li class="no">Punkt 1
<ul class="subsub">
<li>Punkt 1.1</li>
</ul>
</li>

<li>Punkt 2
<ul class="subsub">
<li>Punkt 2.2</li>
</ul>
</li>
</ul>

Die Slide-Funktion als solches funktioniert. Nur habe ich mehrere Unterseiten - also Punkt 1.1 bis Punkt 1.7 zum beispiel - und ich möchte dass die "haupt-" li (also Punkt1) geöffnet bleibt solange man sich auf den unterseiten befindet....habe es bereits mit klassen für die indiv. li versucht. derzeit haben die li´s die klasse "no" und die "aktive haupt-" li auf der man sich befindet ist ohne klasse.


$('ul.menu_class>li').click(function () {

if ($(this).is('>li.no')) {
$(this).find('ul.subsub').slideToggle('slow');
}
else {
$(this).find('ul.subsub>li').show();
}
});

....für mein verständnis müsste die else-funktion ja nun sagen, dass die li ohne klassenname (in meinem falle die aktive li) mit ihrem untermenu ausgeklappt bleibt .... (die ul.subsub steht via css auf display:none - daher der versuch via show//) ....

geht aber alles nicht. wo ist mein fehler????

hoffe ihr könnt mir helfen .... bin hier total am verzweifeln.
danke für eure hilfe....

lg
 

Doitsu

Aktives Mitglied

AW: jquery slide-funktion will nicht stoppen

1. bist bei $(this) im li, sprich $(this).is('>li.no') wird nie true ergeben. (wenn ich mich nicht irre)
2. willst du im else-Zweig das List Item einblenden, nicht die Liste selbst.
3. ?
 
M

maharet

Guest

AW: jquery slide-funktion will nicht stoppen

danke für deine antwort.

zu 1) so wie das script von mir da stand geht es ja - nur bleibt es eben nicht stehen .... also die li.no scheint er zu finden....kannst alles wunderbau auf und zuklappen, doch sobald der link zu einer unterseite gewählt wird geht die navi wieder in ihren geschlossenen ursprungszustand zurück

zu 2) das habe ich abgeändert .....

zu 3) die demo habe ich mir angeschaut ..... und versucht auf meine listen umzumünzen ...aber auch ohn erfolg ....zudem soll ja nicht die erste kategorie bei mir "offen" bleiben sondern immer die jeweilige auf der man sich befindet


:'(
 

Doitsu

Aktives Mitglied

AW: jquery slide-funktion will nicht stoppen

Hm, hier mal das geaenderte Script:
Code:
	<script>
	$(document).ready(function(){
		$(".menu_class > li.no .subsub").hide();
		$(".menu_class > li").click(function(){
			$(".subsub:visible").slideUp("slow");
			$(this).children().slideDown("slow");
		});
	});
	</script>
 

sokie

Mod | Web

AW: jquery slide-funktion will nicht stoppen

doch sobald der link zu einer unterseite gewählt wird geht die navi wieder in ihren geschlossenen ursprungszustand zurück
das ist doch klar: wenn du auf einen *link klickst, wird die Seite doch neu geladen, und startet natürlich mit der Ausgangsbedingung. Du müsstest schon irgendwo speichern, welcher menüteil beim klicken des Links offen ist, und beim neuladen der seite diesen Menüteil eben geöffnet darstellen.

vorausgesetzt das element in <li>punkt1.1</li> IST ein link zu einer Unterseite (wird aus dem Code im Eingangspost nicht klar <li><a href="#">punkt1.1</a></li>)
 
Zuletzt bearbeitet:
M

maharet

Guest

AW: jquery slide-funktion will nicht stoppen

@sokie:
ich weiß dass alles auf "ursprung" geht wenn die seite geladen wird. genau hierfür suche ich ja ne lösung. :-(
(sorry, wenn ich etwas undeutlich geschrieben habe)

wie geschrieben, baue ich die navi in typo - d.h. in typo wrape ich die navi in die entsprechenden ul und li´s .....
nachdem ich mit jquery gezielt die klasse li.no anspreche, hatte ich die hoffnung, dass ich die aktive "kategorie" (also die die aufgeklappt bleiben soll während man auf den unterseiten rumspringt) aus der script-funktion rausnehme/ isoliere indem ich der betroffenen Kategorie (li) einen anderen klassennamen gebe....

*kannst du mir folgen?* ;-)

d.h. ich habe versucht der "aktiven" li via js zu sagen, dass sie offen bleiben soll // und ich habe als anderen test versucht, dem script zu sagen das es da eben nix machen soll ...quasi inaktiv ....

bisher leider alles ohne erfolg. hab ich hier nen denkfehler drin?
wenn es ginge dass das js dann bereiche auslässt könnte ich den betroffenen Bereich ja normal via css steuern....
 

saila

Moderatorle

AW: jquery slide-funktion will nicht stoppen

Hi,

nur für den Fall, dass ihr aneinander vorbeiredet.

Bei dragable-methode stop und der darin befindlichen function ist es zu empfehlen, hier einen ajax aufruf zustarten.

Dieser ajax übergibt die Reihenfolge der neu angeordneten Boxen (von mir aus in Form einer id="box-x"), welche über ein dahinterliegendes php-Script diese Daten wiederum in eine Datenbank schreibt und das userspezifisch. Beim neuen Aufruf der Seite werden die Listen-tags somit mit der entsprechenden ID gefüllt.

Empfehlenswert wäre hier die ID's in serialize() zu speichern, weil man auf diesem Wege sich viel Zeit und scripten spart.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben