mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 04:04 Benutzername: Passwort: Auto-Login

Thema: Javascript - Tabs switchen vom 12.05.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Javascript - Tabs switchen
Autor Nachricht
njow
Threadersteller

Dabei seit: 23.04.2006
Ort: Löhne
Alter: 38
Geschlecht: Männlich
Verfasst Fr 12.05.2006 11:04
Titel

Javascript - Tabs switchen

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich habe folgendes problem:

auf einer seite habe ich mehrere Tabs, in form von buttons, die nebeneinander aufgelistet sind.
jeder button bekommt ein javascript 'onclick'.

dadrunter habe ich soviele div`s, wie es auch buttons gibt. jedes div hat also die id, welche auch der dazugehörige button dem javascript übergibt.

das erste div hat standardmäßig 'display: block';, alle anderen 'display: none;'

beim klicken auf z.b. den 2. Tab sollen alle anderen 'display: none;' bekommen, und der geklickte display: block;
bzw. ein Effect aus der "scriptaculous" lib.

hier mein aktuelles script:

Code:

function switchTAB(nextTAB){
   var nextObj = document.getElementById(nextTAB);
   if(nextObj){
      if(nextObj.style.display == "none"){
         nextObj.style.display = "block";
      }else{
         nextObj.style.display = "none";      
      }
   }
}


also wie kann ich von php aus ein array an das javascript übergeben, ohe dass das javascript inline sein muss?

schonmal vielen dank

mfg barry


Zuletzt bearbeitet von njow am Fr 12.05.2006 11:05, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Fr 12.05.2006 11:47
Titel

Antworten mit Zitat Zum Seitenanfang

gib den divs die selben ids mit erweiterungen (menue1, menue2), setz per php eine anzahl wieviele menüpunkte es gibt und iterier dann im script über die divs.


Code:
function switchTAB(nextTAB){
   var TABname = 'menu';
   var TABCount = <?php ..anzahl deiner tabs ?>;
   var nextObj = document.getElementById(nextTAB);
   if(nextObj){
      for(i=0; i < TABCount; i++) {
         var currentTAB = document.getElementById(TABname + i);
         if(currentTAB != nextObj) {
         currentTAB.display = 'none';
           }
      nextObj.display = 'block';                  
   }
   else {
      return false;
   }


(ungetestet)


Zuletzt bearbeitet von sahnemuh am Fr 12.05.2006 11:48, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
njow
Threadersteller

Dabei seit: 23.04.2006
Ort: Löhne
Alter: 38
Geschlecht: Männlich
Verfasst Fr 12.05.2006 12:21
Titel

Antworten mit Zitat Zum Seitenanfang

jo, danke.

habe es aber nen bisl anders gemacht.

habe in der php datei den count(); von dem array als int dem script übergeben.
denn wenn das javascript nicht inline ist, dann kann man nicht auf aktuelle php vars zugreifen.

hier der fertige code (für alle die`s interessiert xD)

JS file
Code:

function switchTAB(nextTAB, TABarrayCnt){

   var TABname = 'tab';
   var nextObj = document.getElementById(TABname + nextTAB);
   if(nextObj){
      for(i=0; i < TABarrayCnt; i++) {
         var currentTAB = document.getElementById(TABname + (i+1));
         if(currentTAB != nextObj) {
            currentTAB.style.display = 'none';
           }
         nextObj.style.display = 'block';
      }                 
   } else {
      return false;
   }
}


PHP file
Code:


$id = array("dein array, statisch oder dynamisch");

... onclick=\"switchTAB('".$cnt."', '".count($id)."')\" ...

... <div id=\"tab".$cnt."\" ...


$cnt wird in der schleife hochgezählt.

danke und mfg barry
  View user's profile Private Nachricht senden
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Fr 12.05.2006 13:38
Titel

Antworten mit Zitat Zum Seitenanfang

jau. so gehts auch. is sogar noch schöner.
bitte bitte.

wenn dü übrigens 4 zeichen code sparen willst (!!!111) initialiser doch i einfach mit 1 anstatt immer draufzurechnen Ooops


Zuletzt bearbeitet von sahnemuh am Fr 12.05.2006 13:47, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
njow
Threadersteller

Dabei seit: 23.04.2006
Ort: Löhne
Alter: 38
Geschlecht: Männlich
Verfasst Fr 12.05.2006 16:45
Titel

Antworten mit Zitat Zum Seitenanfang

jo, das ginge auch (!!!111) Lächel

mfg barry
  View user's profile Private Nachricht senden
alecsk

Dabei seit: 15.09.2006
Ort: Pforzheim
Alter: 41
Geschlecht: Männlich
Verfasst Mi 30.04.2008 12:12
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab eeeeewig gesucht. Jetzt hab ich hier meinen Anhaltspunkt bekommen, wie ich mein Problem mit dem TabSwitch lösen kann *gg* THX!

Ich hab halt n Switch mit getElementById(id).className ....
das Prinzip hier stimmt aber und funktioniert.
  View user's profile Private Nachricht senden
Mark-Korb

Dabei seit: 11.04.2007
Ort: -
Alter: 38
Geschlecht: Männlich
Verfasst Mi 30.04.2008 12:59
Titel

Antworten mit Zitat Zum Seitenanfang

Und das zusagen musstest du nu den Spaten rausholen und die Toten ruhe stören?
  View user's profile Private Nachricht senden
alecsk

Dabei seit: 15.09.2006
Ort: Pforzheim
Alter: 41
Geschlecht: Männlich
Verfasst Mi 30.04.2008 14:46
Titel

Antworten mit Zitat Zum Seitenanfang

Jep ..
Du drückst uns ja auch noch die Deutsche Mark aufs Auge :D
  View user's profile Private Nachricht senden
 
Ähnliche Themen jQuery tabs mit iframes?
[Firefox] Problem mit Tabs
[Notepad ++] - Tabs wechseln
Formular->automatische Tabs
PDF-Formular Texteingabe mit Tabs
Firefox Tabs speichern und exportieren...
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.