Ergebnis 1 bis 15 von 18
-
25-11-2009, 12:34 #1
Grünschnabel
- registriert
- 25-11-2009
- Beiträge
- 7
jquery accordion menü soll beim clicken offen bleiben
hallo!
diese frage wurde hier schon mal in einem anderen thread gestellt aber leider fand sich keine antwort.
wie der fragesteller vor mir habe ich mir ein jquery plugin für ein accordion menü besorgt. wenn man auf einen unterpunkt klickt schließt sich das menü auf der nächsten seite wieder, was verwirrend und umständlich für den user ist.
leider fehlen mir die nötigen kenntnisse um den code zu ändern.
hat jemand eine idee hierzu?
der code ist von folgender seite: http://www.i-marco.nl/weblog/jquery-...on-menu-redux/
Code:function initMenus() { $('ul.menu ul').hide(); $.each($('ul.menu'), function(){ $('#' + this.id + '.expandfirst ul:first').show(); }); $('ul.menu li a').click( function() { var checkElement = $(this).next(); var parent = this.parentNode.parentNode.id; if($('#' + parent).hasClass('noaccordion')) { $(this).next().slideToggle('normal'); return false; } if((checkElement.is('ul')) && (checkElement.is(':visible'))) { if($('#' + parent).hasClass('collapsible')) { $('#' + parent + ' ul:visible').slideUp('normal'); } return false; } if((checkElement.is('ul')) && (!checkElement.is(':visible'))) { $('#' + parent + ' ul:visible').slideUp('normal'); checkElement.slideDown('normal'); return false; } } ); } $(document).ready(function() {initMenus();});
vielen dank!
-
25-11-2009, 15:10 #2
AW: jquery accordion menü soll beim clicken offen bleiben
leider fehlen mir die nötigen kenntnisse um den code zu ändern.
-
25-11-2009, 21:54 #3
Grünschnabel
- registriert
- 25-11-2009
- Beiträge
- 7
AW: jquery accordion menü soll beim clicken offen bleiben
oha, vielen dank werter kkapsner für deine besonders nette antwort.
ich habe leider bisher nur einen very basic grundkurs in javascript machen können und konzentriere mich zurzeit am meisten auf html/css. ich bin noch am lernen. tja und ich dachte vielleicht kann mir hier ja jemand einen tip geben was ich machen könnte.
anscheinend nicht. und schön, sprichst du immer im namen aller anderen mitglieder hier?!
mit bestem gruß, miss poly
-
25-11-2009, 22:00 #4
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
-
25-11-2009, 22:31 #5
Grünschnabel
- registriert
- 25-11-2009
- Beiträge
- 7
AW: jquery accordion menü soll beim clicken offen bleiben
hm, danke für deine antwort. leider verstehe ich den code zu wenig. es ist ja auf jeder seite die html struktur des menüs die gleiche, wie kann der javascript code also "wissen", auf welchen seiten er welchen punkt des menüs ausgeklappt lassen sollte und wo nicht... ich schätze das würde einen komplexeren ausbau des codes erfordern.
ich kann mir nur vorstellen dass man eine class macht im html wie zb "current" für die seite die grad offen ist und im code das reinschreibt dass da dann jeweils das betreffende untermenü ausgeklappt sein soll.
aber ich will hier niemanden nerven und ich verstehe schon dass nicht jeder lust hat codes umzuschreiben weil er/sie grad nix besseres zu tun hat^^
-
25-11-2009, 22:49 #6
AW: jquery accordion menü soll beim clicken offen bleiben
Ein Ansatz wäre es, bei den Seiten, wo das entsprechende Untermenü offen bleiben soll, dem body eine id zu geben.
Dann den verschiedenen ul's ebenfalls eine ID geben.
Ist dann z.B. die body-id #cool_stuff und die entsprechende ul hat die id #ul_cool_stuff schreibt man in's CSS:
PHP-Code:#cool_stuff #ul_cool_stuff {display:block;}
-
25-11-2009, 22:52 #7
Grünschnabel
- registriert
- 25-11-2009
- Beiträge
- 7
AW: jquery accordion menü soll beim clicken offen bleiben
ich habe jetzt noch etwas entdeckt. im thread des coderstellers gibt es eine einfachere vorgängerversion dieses accordion menüs, welches bei seitenaufruf den ersten menüpunkt schon ausgeklappt hat.
im code findet sich folgende zeile:Code:$('#menu ul:first').show();
ähm zurück zur frage: ul:first, ul:second usw, ist das eine schreibart wo dem code klar ist damit ist die erste, zweite usw ul gemeint? oder steh ich ganz daneben?Geändert von miss_poly (25-11-2009 um 22:53 Uhr) Grund: tippfehler
-
25-11-2009, 22:58 #8
Grünschnabel
- registriert
- 25-11-2009
- Beiträge
- 7
AW: jquery accordion menü soll beim clicken offen bleiben
-
25-11-2009, 23:24 #9
Grünschnabel
- registriert
- 25-11-2009
- Beiträge
- 7
AW: jquery accordion menü soll beim clicken offen bleiben
ok, ich bin wohl etwas zu voreilig mit meiner schlussfolgerung gewesen. mit ul:first macht er brav das erste untermenü auf, mit ul:second aber alle. war auch ne etwas herbeigezogene überlegung^^
ich geh schlafen und denk morgen weiter^^
-
29-11-2009, 22:08 #10
Grünschnabel
- registriert
- 25-11-2009
- Beiträge
- 7
AW: jquery accordion menü soll beim clicken offen bleiben
so, nach einiger recherche habe ich eine lösung gefunden. ich poste sie mal, falls jemand irgendwann das gleiche problem haben sollte und hierher über die suchfunktion kommen sollte
unter die zeileCode:$.each($(‘ul.menu’), function(){
Code:$(‘ul.expand’).show();
Code:function initMenus() { $('ul.menu ul').hide(); $.each($('ul.menu'), function(){ $('ul.expand').show(); $('#' + this.id + '.expandfirst ul:first').show(); });
gruß, miss_poly
-
11-04-2011, 16:26 #11
Grünschnabel
- registriert
- 11-04-2011
- Beiträge
- 4
AW: jquery accordion menü soll beim clicken offen bleiben
Hallo! Super das es bei dir geklappt hat. Mein Code sieht so aus (siehe unten). Kann mir dabei auch jemand helfen? Die Alternative wäre den ersten Menüpunkt auch nicht zu öffnen aber dabei springt dann mein Layout.
function initMenu() {
$(‚#menu ul‘).hide();
$(‚#menu ul:first‘).show();
$(‚#menu li a‘).click(
function() {
var checkElement = $(this).next();
if((checkElement.is(‚ul‘)) && (checkElement.is(‚:visible‘))) {
return false;
}
if((checkElement.is(‚ul‘)) && (!checkElement.is(‚:visible‘))) {
$(‚#menu ul:visible‘).slideUp(‚normal‘);
checkElement.slideDown(‚normal‘);
return false;
}
}
);
}
$(document).ready(function() {initMenu();});
Vielen Dank und schöne Grüße
Jenny
-
11-04-2011, 17:15 #12
AW: jquery accordion menü soll beim clicken offen bleiben
Was ist genau dein Problem?
Was willst du denn genau erreichen?
Was ist denn jetzt genau deine Frage?Hoffe ich konnte helfen
-
11-04-2011, 18:29 #13
Grünschnabel
- registriert
- 11-04-2011
- Beiträge
- 4
AW: jquery accordion menü soll beim clicken offen bleiben
Oh sorry! Beim klick auf den Link soll immer das passende Untermenü geöffnet sein und nicht immer das erste . Vielen Dank für deine Bemühungen!
-
12-04-2011, 01:33 #14
AW: jquery accordion menü soll beim clicken offen bleiben
Testlink? Mir ist immer noch nicht klar, was genau dein Problem ist.
-
12-04-2011, 10:52 #15
Grünschnabel
- registriert
- 11-04-2011
- Beiträge
- 4
AW: jquery accordion menü soll beim clicken offen bleiben
Ist leider noch nicht online. Aber mit $(‚#menu ul:first‘).show(); wird ja auf jeder Seite immer der erste Block bereits geöffnet. Wenn ich jetzt aber auf den Link klicke von Block 2 ist wird die richtige Seite angezeigt aber der 1. Block ist wieder geöffnet. Ich würde aber gerne haben das der 2. Block geöffnet ist. Also immer der passende Block zur passenden Seite und nicht immer "first"
Weiß leider nicht wie ich es anders erklären kann. Hoffe es ist verständlich.
LG Jenny
Ähnliche Themen
-
Problem mit jquery accordion & Bumpbox
Von stefan211 im Forum JavaScriptAntworten: 0Letzter Beitrag: 24-11-2009, 19:08 -
jquery Menü mit Unterpunkten
Von ms_h im Forum JavaScriptAntworten: 0Letzter Beitrag: 16-09-2009, 13:26 -
jQuery accordion beim link soll der Punkt offen bleiben
Von Xarnu im Forum JavaScriptAntworten: 0Letzter Beitrag: 07-09-2009, 11:14 -
Javascript Context Menü mit Jquery
Von sheen85 im Forum JavaScriptAntworten: 3Letzter Beitrag: 04-09-2009, 13:12 -
jquery Accordion mit verschiedenen ids
Von derMatze im Forum JavaScriptAntworten: 0Letzter Beitrag: 24-09-2008, 17:56
Lesezeichen