tomengel
Mitglied
Hola,
ich bin etwas verwundert und kann es mir überhaupt nicht erklären. Ich habe folgende Funktion angefangen zu schreiben:
Mit dieser Funktion möchte ich Layer bei klick auf einen Thumb überblenden. Die Layer heißen alle imagePre1, 2, 3 ...
Der erste ist von Anfang an sichtbar und hat display: block; die Anderen display: none.
Nun durchlaufe ich alle Divs und bei Übereinstimmung von imagePre + Iterationsvariable sollen die Divs in ein Array gepackt werden, dass wiederum durchlaufen wird und bei Übereinstimmung eins ausblendet und ein anderes, das per Parameter an eine Func übergeben wird, einblenden. Das Prinzip t, aber ich bekommen immer nur den 1. imagePre div (imagePre1).
die erste For Schleife läuft brav durch aber die if Bedingung wird nur einmal ausgeführt. WARUUUUUM?
Hier mal die Ausgabe aus dem Debug Container:
Müsste aber z.B. so aussehen:
Vielleicht ist es auch dieses subtropische Klima - aber ich kann's mir nicht erklären.
Vielleicht hat einer von Euch ja einen Tipp für mich.
Dankööööö und sonnige Grüße,
Tom
ich bin etwas verwundert und kann es mir überhaupt nicht erklären. Ich habe folgende Funktion angefangen zu schreiben:
Code:
function writeImagePre(appElement) {
var allDivs = document.getElementsByTagName('div');
var preDivs = new Array();
var debug = document.getElementById('debug');
debug.innerHTML += 'allDivs Elemente=' + allDivs.length + '<br \/>';
for (var i=0; i<allDivs.length; i++) {
debug.innerHTML += 'iteration(i)=' + i + '<br \/>';
//alert(allDivs[i].id + '->style=' + allDivs[i].style.display);
if(allDivs[i].id == 'imagePre'+i) {
debug.innerHTML += 'imagePre' + i + '<br \/>';
preDivs.push(allDivs[i]);
/*if(allDivs[i].style.display != 'none' || allDivs[i].style.display == '') {
var d = allDivs[i];
new Effect.Fade(d, { duration: 1.5 , afterFinish: appPre(appElement) });
document.d.style.display = 'none';
break;
}*/
}
}
for (var j=0; j<preDivs.length; j++) {
debug.innerHTML += ' | ' + preDivs[j].id + '->style=' + preDivs[j].style.display;
}
}
Mit dieser Funktion möchte ich Layer bei klick auf einen Thumb überblenden. Die Layer heißen alle imagePre1, 2, 3 ...
Der erste ist von Anfang an sichtbar und hat display: block; die Anderen display: none.
Nun durchlaufe ich alle Divs und bei Übereinstimmung von imagePre + Iterationsvariable sollen die Divs in ein Array gepackt werden, dass wiederum durchlaufen wird und bei Übereinstimmung eins ausblendet und ein anderes, das per Parameter an eine Func übergeben wird, einblenden. Das Prinzip t, aber ich bekommen immer nur den 1. imagePre div (imagePre1).
die erste For Schleife läuft brav durch aber die if Bedingung wird nur einmal ausgeführt. WARUUUUUM?
Hier mal die Ausgabe aus dem Debug Container:
allDivs Elemente=31
iteration(i)=0
iteration(i)=1
imagePre1
iteration(i)=2
iteration(i)=3
iteration(i)=4
iteration(i)=5
iteration(i)=6
iteration(i)=7
iteration(i)=8
iteration(i)=9
iteration(i)=10
iteration(i)=11
iteration(i)=12
iteration(i)=13
iteration(i)=14
iteration(i)=15
iteration(i)=16
iteration(i)=17
iteration(i)=18
iteration(i)=19
iteration(i)=20
iteration(i)=21
iteration(i)=22
iteration(i)=23
iteration(i)=24
iteration(i)=25
iteration(i)=26
iteration(i)=27
iteration(i)=28
iteration(i)=29
iteration(i)=30
| imagePre1->style=block
Müsste aber z.B. so aussehen:
allDivs Elemente=31
iteration(i)=0
iteration(i)=1
imagePre1
iteration(i)=2
imagePre2
iteration(i)=3
imagePre3
iteration(i)=4
iteration(i)=5
iteration(i)=6
iteration(i)=7
iteration(i)=8
iteration(i)=9
iteration(i)=10
iteration(i)=11
iteration(i)=12
iteration(i)=13
iteration(i)=14
iteration(i)=15
iteration(i)=16
iteration(i)=17
iteration(i)=18
iteration(i)=19
iteration(i)=20
iteration(i)=21
iteration(i)=22
iteration(i)=23
iteration(i)=24
iteration(i)=25
iteration(i)=26
iteration(i)=27
iteration(i)=28
iteration(i)=29
iteration(i)=30
| imagePre1->style=block | imagePre2->style=none | imagePre3->style=none
Vielleicht ist es auch dieses subtropische Klima - aber ich kann's mir nicht erklären.
Vielleicht hat einer von Euch ja einen Tipp für mich.
Dankööööö und sonnige Grüße,
Tom