Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 18
  1. #1
    miss_poly ist offline 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!

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.760

    AW: jquery accordion menü soll beim clicken offen bleiben

    leider fehlen mir die nötigen kenntnisse um den code zu ändern.
    Dann verschaff' sie dir. Ohne erkennbaren Willen zum Selbstbeitrag zur Problembehebung wird dir hier keiner helfen. Außerdem solltest du dir bei deinem Problem mal Gedanken darüber machen, woran es liegen könnte (Stichwort: Ausführungsort und Lebensdauer von JS).

  3. #3
    miss_poly ist offline Grünschnabel
    registriert
    25-11-2009
    Beiträge
    7

    AW: jquery accordion menü soll beim clicken offen bleiben

    Zitat Zitat von kkapsner Beitrag anzeigen
    Dann verschaff' sie dir. Ohne erkennbaren Willen zum Selbstbeitrag zur Problembehebung wird dir hier keiner helfen. Außerdem solltest du dir bei deinem Problem mal Gedanken darüber machen, woran es liegen könnte (Stichwort: Ausführungsort und Lebensdauer von JS).
    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

  4. #4
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.667

    AW: jquery accordion menü soll beim clicken offen bleiben

    Zitat Zitat von miss_poly Beitrag anzeigen
    hat jemand eine idee hierzu?
    du musst nur den entsprechenden menüpunkt zu deiner aktuellen seite öffnen, wenn das deine frage war.

  5. #5
    miss_poly ist offline Grünschnabel
    registriert
    25-11-2009
    Beiträge
    7

    AW: jquery accordion menü soll beim clicken offen bleiben

    Zitat Zitat von hesst Beitrag anzeigen
    du musst nur den entsprechenden menüpunkt zu deiner aktuellen seite öffnen, wenn das deine frage war.
    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^^

  6. #6
    Avatar von dkdenz
    dkdenz ist offline Foren-Gott
    registriert
    13-04-2004
    Ort
    Lübeck
    Beiträge
    12.050

    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;} 
    So in etwa...

  7. #7
    miss_poly ist offline 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();
    könnte ich dann einfach jede "ul", also die verschiedenen ebenen des menüs, mit first, second usw ansprechen? einzige für mich umsetzbare lösung wäre dann folgende: 3 (es sind nur 3 untermenüs insgesamt) codes schreiben und jeweils das erste, zweite oder dritte untermenü ausklappen lassen. für einen programmierer sicher eine grauenhafte lösung^^

    ä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

  8. #8
    miss_poly ist offline Grünschnabel
    registriert
    25-11-2009
    Beiträge
    7

    AW: jquery accordion menü soll beim clicken offen bleiben

    Zitat Zitat von dkdenz Beitrag anzeigen
    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.
    DAS ist ja eine super idee, danke dir! mit css werd ich leichter fertig^^ das werde ich ausprobieren, wäre ja viel einfacher, ich hab nur über den javascript code gegrübelt und nicht über die möglichkeit einer anderen möglichkeit nachgedacht.

    muchas gracias

  9. #9
    miss_poly ist offline 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^^

  10. #10
    miss_poly ist offline 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 zeile
    Code:
    $.each($(‘ul.menu’), function(){
    folgenden code einsetzen:
    Code:
    $(‘ul.expand’).show();
    das schaut dann so aus:
    Code:
    function initMenus() {
    	$('ul.menu ul').hide();
        $.each($('ul.menu'), function(){
        $('ul.expand').show();
      $('#' + this.id + '.expandfirst ul:first').show();
    	});
    dann die class "expand" den UL´s geben, deren untermenüs offen bleiben sollen, das wars!

    gruß, miss_poly

  11. #11
    jen
    jen ist offline 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

  12. #12
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.034

    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

  13. #13
    jen
    jen ist offline 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!

  14. #14
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.760

    AW: jquery accordion menü soll beim clicken offen bleiben

    Testlink? Mir ist immer noch nicht klar, was genau dein Problem ist.

  15. #15
    jen
    jen ist offline 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

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Problem mit jquery accordion & Bumpbox
    Von stefan211 im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 24-11-2009, 19:08
  2. jquery Menü mit Unterpunkten
    Von ms_h im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 16-09-2009, 13:26
  3. Antworten: 0
    Letzter Beitrag: 07-09-2009, 11:14
  4. Javascript Context Menü mit Jquery
    Von sheen85 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 04-09-2009, 13:12
  5. jquery Accordion mit verschiedenen ids
    Von derMatze im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 24-09-2008, 17:56

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •