Autor |
Nachricht |
njow
Threadersteller
Dabei seit: 23.04.2006
Ort: Löhne
Alter: 38
Geschlecht:
|
Verfasst Fr 12.05.2006 11:04
Titel Javascript - Tabs switchen |
|
|
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
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Fr 12.05.2006 11:47
Titel
|
|
|
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
|
|
|
|
|
Anzeige
|
|
|
njow
Threadersteller
Dabei seit: 23.04.2006
Ort: Löhne
Alter: 38
Geschlecht:
|
Verfasst Fr 12.05.2006 12:21
Titel
|
|
|
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
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Fr 12.05.2006 13:38
Titel
|
|
|
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
Zuletzt bearbeitet von sahnemuh am Fr 12.05.2006 13:47, insgesamt 2-mal bearbeitet
|
|
|
|
|
njow
Threadersteller
Dabei seit: 23.04.2006
Ort: Löhne
Alter: 38
Geschlecht:
|
Verfasst Fr 12.05.2006 16:45
Titel
|
|
|
jo, das ginge auch (!!!111)
mfg barry
|
|
|
|
|
alecsk
Dabei seit: 15.09.2006
Ort: Pforzheim
Alter: 41
Geschlecht:
|
Verfasst Mi 30.04.2008 12:12
Titel
|
|
|
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.
|
|
|
|
|
Mark-Korb
Dabei seit: 11.04.2007
Ort: -
Alter: 38
Geschlecht:
|
Verfasst Mi 30.04.2008 12:59
Titel
|
|
|
Und das zusagen musstest du nu den Spaten rausholen und die Toten ruhe stören?
|
|
|
|
|
alecsk
Dabei seit: 15.09.2006
Ort: Pforzheim
Alter: 41
Geschlecht:
|
Verfasst Mi 30.04.2008 14:46
Titel
|
|
|
Jep ..
Du drückst uns ja auch noch die Deutsche Mark aufs Auge :D
|
|
|
|
|
|
|
|
Ähnliche Themen |
[Notepad ++] - Tabs wechseln
Formular->automatische Tabs
PDF-Formular Texteingabe mit Tabs
jQuery tabs mit iframes?
[Firefox] Problem mit Tabs
Liste in html mit tabs ertsellen
|
|