mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 27.04.2024 07:20 Benutzername: Passwort: Auto-Login

Thema: JS Accodrion hide()? vom 31.03.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> JS Accodrion hide()?
Autor Nachricht
SimonDerDude
Threadersteller

Dabei seit: 15.01.2010
Ort: error: undefined
Alter: 35
Geschlecht: Männlich
Verfasst Mi 31.03.2010 14:04
Titel

JS Accodrion hide()?

Antworten mit Zitat Zum Seitenanfang

Tagchen,

ich schreibe bezüglich eines JavaScripts. Leider habe ich hierzu keine Doku gefunden.
Es handelt sich hierbei um JQuery, in die .php Datei ist folgender Code eingepflegt:

Code:
<script type="text/javascript">

         $.accordian = function(items, first, options) {

            var active = first;
            var running = 0;

            var titles = options && options.titles || '.title';
            var contents = options && options.contents || '.content';
            var onClick = options && options.onClick || function(){};
            var onShow = options && options.onShow || function(){};
            var onHide = options && options.onHide || function(){};
            var showSpeed = options && options.showSpeed || 'slow';
            var hideSpeed = options && options.hideSpeed || 'fast';
            
            $(items).not(active).children(contents).hide();
            $(items).not(active).each(onHide);
            $(active).each(onShow);

            $(items).children(titles).click(function(e){

               var p = $(contents, this.parentNode);
               $(this.parentNode).each(onClick);

               if (running || !p.is(":hidden")) return false;
               running = 2;

               $(active).children(contents).not(':hidden').slideUp(hideSpeed, function(){--running;});
               p.slideDown(showSpeed, function(){--running;});

               $(active).each(onHide);
               active = '#' + $(this.parentNode)[0].id;
               $(active).each(onShow);

               return false;
            });

         };

         function simpleLog(message) {
            $('<div>' + message + '<\/div>').appendTo('#log');
         }

         $(function(){

            $.accordian('#list1 > div', '#item11');

            $.accordian('#list2 > div', '#item20', {
               titles:'.mytitle',
               contents:'.mycontent',
               onClick:function(){simpleLog(this.id + ' clicked')},
               onShow:function(){simpleLog(this.id + ' shown'); $(this).removeClass('off').addClass('on');},
               onHide:function(){simpleLog(this.id + ' hidden'); $(this).removeClass('on').addClass('off');},
               showSpeed:250,
               hideSpeed:550
            });
            
         });

      </script>


Da ich in JavaScript noch nicht allzu weit bewandert bin steh ich gerade aufm Schlauch Menno!
Derzeit ist beim Aufruf der Seite immer ein Menupunkt bereits geöffnet.
Endergebnis = Kein Menupunkt soll geöffnet sein

Ich benutze nur die #list2 und das #item20 ist mein erster Punkt der immer geöffnet ist.
Sobald ich ein #item verweise das nicht existiert, wird sofort alles angezeigt als wäre kein Code da.
Was muss ich anstellen, dass kein Punkt geöffnet ist?
UND wie lösche ich die Zeile mit #list1 ohne dass das ganze ebenfalls nicht funktioniert.

Beispiel Items im <body>
Code:
<div id="list2" style="margin-left: 50px;">
               <div id="item20">
                  <div class="mytitle"><span class="cont_highplus">&nbsp;+&nbsp;</span><span class="cont_title">Krankengymnastik (KG)</span></div>
                  <div class="mycontent">
                     <span class="cont_text">Gezielte &Uuml;bungen um Defizite des K&ouml;rpers zu bearbeiten. Kr&auml;ftigung, Mobilisation, Koordination und Alltagsbelastungen werden ge&uuml;bt.</span><br><br>
                     <span class="cont_italic">Bsp.: R&uuml;ckenschmerzen bei Schreibtischarbeit</span><br><br>
                  </div>
               </div>
               <div id="item21">
                  <div class="mytitle"><span class="cont_highplus">&nbsp;+&nbsp;</span><span class="cont_title">Manuelle Therapie (MT)</span></div>
                  <div class="mycontent">
                     <span class="cont_text">Techniken, die direkten Einfluss auf das Gewebe aus&uuml;ben. Gelenke werden mobilisiert, Verklebungen gel&ouml;st und Muskeln, Sehnen und B&auml;nder bei Bedarf gedehnt.</span><br><br>
                     <span class="cont_italic">Bsp.: Kniebeugung ist nicht ganz m&ouml;glich und soll erweitert werden</span><br><br>
                  </div>
               </div>


Weiss einer was?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
safer-print

Dabei seit: 11.03.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 06.04.2010 21:41
Titel

Antworten mit Zitat Zum Seitenanfang

jQuery UI bietet doch eine schöne Accordion-Funktion inklusive Dokumentation und jeder Menge Beispiele. Damit kommst du vielleicht schneller zum Ziel.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
SimonDerDude
Threadersteller

Dabei seit: 15.01.2010
Ort: error: undefined
Alter: 35
Geschlecht: Männlich
Verfasst Di 13.04.2010 08:15
Titel

Antworten mit Zitat Zum Seitenanfang

Ja, habe das Problem auf die "simple" Art gelöst.
Hab das Script vollständig ersetzt welches mit divs arbeitet da mir das andere wirklich suspekt war *bäh*

Aus dem:
http://www.stemkoski.com/downloads/jquery-accordion-menu-update/example.htm

wurde das:
http://www.physiotherapie-gleuel.de/content/kassenleistungen.php


Und für andere mit dem selben Problem hier die Doku:
http://www.stemkoski.com/stupid-simple-jquery-accordion-menu/
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
safer-print

Dabei seit: 11.03.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 13.04.2010 09:19
Titel

Antworten mit Zitat Zum Seitenanfang

Das ist gut. So kann man die Inhalte auch sehen, wenn man Javascript abgeschaltet hat. Die Seite ist übrigens ganz schön, nur am CSS der Aufklapper würde ich noch ein bisschen feilen. Bei mir (Firefox 3.6.3/Win XP) sitzen die Texte recht an den Rand gedrückt.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen jquery - hide content in jquery object
Neues Thema eröffnen   Neue Antwort erstellen
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.