mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 16.04.2024 13:27 Benutzername: Passwort: Auto-Login

Thema: [jquery] accordion vom 11.08.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [jquery] accordion
Seite: 1, 2  Weiter
Autor Nachricht
snuwie
Threadersteller

Dabei seit: 06.07.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 11.08.2010 12:46
Titel

[jquery] accordion

Antworten mit Zitat Zum Seitenanfang

ich benutze das accordion vom jquery ui. funktioniert auch alles super.

wenn man sich durch die überpunkte klickt, öffnen sich ja die content bereiche. jetzt soll ich es aber so machen, dass wenn eine überpunkt geklickt wurde, sodass sich der content bereich geöffnet hat, man ein zweites mal auf diesen überpunkt klickt und sich dann beispielsweise eine seite öffnet.

mein ansatz war jetzt so

Code:

$('.menu li a').click( function() {
   if($(this).hasClass('ui-state-active')){
      alert("tu was!");
   }
});


ich hoffe ihr könnt mir helfen

ich sollte vielleicht noch erwähnen, dass das alert fenster jetzt immer aufpopt, wenn ich einen überpunkt klicke


Zuletzt bearbeitet von choise am Mi 11.08.2010 13:16, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 11.08.2010 13:17
Titel

Antworten mit Zitat Zum Seitenanfang

kannst du uns ein onlinebeispiel liefern? dann geht das sicherlich schnell
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
SimonDerDude

Dabei seit: 15.01.2010
Ort: error: undefined
Alter: 35
Geschlecht: Männlich
Verfasst Mi 11.08.2010 13:42
Titel

Antworten mit Zitat Zum Seitenanfang

Was du brauchst ist iwie sowas:

Code:
function initMenus() {
// Titel wieder schließen
   $('li a.open').click(
      function () {
         $('li ul:visible').slideToggle('slow');
   });
// Zeige erstes Untermenü offen (deaktiviert)
   $('ul.menu ul').hide();
   $.each($('ul.menu'), function(){
      $('#' + this.id + '.expandfirst ul:first').hide();
   });
// Öffne anderes Untermenü und schliesse das akutelle
   $('ul.menu li a').click(
      function() {
         var checkElement = $(this).next();
         var parent = this.parentNode.parentNode.id;

         if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
            if($('#' + parent).hasClass('collapsible')) {
               $('#' + parent + ' ul:visible').slideUp('slow');
            }
         }
         if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('#' + parent + ' ul:visible').slideUp('slow');
            checkElement.slideDown('slow');
         }
      }
   );
}
$(document).ready(function() {initMenus();});


Bei einem klick auf <ul> öffnet sich dieses.
Bei einem klick auf ein anderes <ul> schliesst sich das eine und es öffnet sich das andere.
Vielleicht kannst du das mit wenigen Änderungen so hinkriegen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
snuwie
Threadersteller

Dabei seit: 06.07.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 11.08.2010 13:47
Titel

Antworten mit Zitat Zum Seitenanfang

GELÖSCHT

ich hoffe das langt Lächel Also wenn ich auf "Überpunkt 2" klicke, öffnet sich das Untermenü. Klicke ich ein zweites mal auf "Überpunkt 2", soll sich eine Seite öffnen.

Durch meinen Versuch ist es aktuell so, dass bei jedem Klick das Alert Fenster öffnet, obwohl er das eigentlich nur soll, wenn der Überpunkt die Klasse "ui-state-active" hat. Diese hat er ja nur, wenn er geklickt wurde. Damit könnte ich also den zweiten Klick "abfangen". Oder gibts eine bessere Lösung?


Zuletzt bearbeitet von Eistee am Mo 11.10.2010 08:18, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 11.08.2010 15:38
Titel

Antworten mit Zitat Zum Seitenanfang

scheinbar wird die klasse so schnell zugewiesen, dass sie breits vorhanden ist, wenn du die abfrage durchläufst.

benutz eine kleine speichervariable, die sich merkt, welcher hauptmenüpunkt (anhand der id) aktiv ist. wird dieser ein zweites mal geklickt öffne die seite.

ob jedoch deine besucher schnallen, dass sich die seite erst beim zweiten mal klicken öffnet, lass ich mal außen vor *zwinker*


Zuletzt bearbeitet von pixelpapst303 am Mi 11.08.2010 15:38, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
snuwie
Threadersteller

Dabei seit: 06.07.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 11.08.2010 15:44
Titel

Antworten mit Zitat Zum Seitenanfang

pixelpapst303 hat geschrieben:
ob jedoch deine besucher schnallen, dass sich die seite erst beim zweiten mal klicken öffnet, lass ich mal außen vor *zwinker*


ich bin da leider nur ausführende kraft ... konnte den entcheidungsträger davon nicht abbringen Grins

wie meinst du das mit der speichervariable?
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 11.08.2010 15:54
Titel

Antworten mit Zitat Zum Seitenanfang

verpass deinen "Unterpunkt"-Links eindeutige ids und dann sowas inne art:

Code:

$(document).ready(function(){ 
   $('#accordion').accordion();
   
   var SpeicherShizzle;
   
   $('#accordion li > a').click( function() {
      
         if (SpeicherShizzle == $(this).attr('id')) {
            alert ('sinnfreies seitenöffnen');
         } else {
            alert ('einmal geklickt');
         }
         SpeicherShizzle = $(this).attr('id');
         
      
   });
});
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 11.08.2010 16:03
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
SpeicherShizzle
na hoffentlich dokumentierst du deinen code gut, wenn du deine variablen so benennst *ha ha* *Thumbs up!*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [SOLVED] jQuery: Accordion und Div overflow style
Ist das mit Accordion möglich?
Brauche Unterstützung bei JS Accordion
Hilfe bei MOO.FX accordion menü?
Suche horizontales Accordion
Javascript Problem mit Dragdealer im Accordion
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.