Diashow für mehrere Projekte
Pampel
- javascript
Hallo zusammen,
auf einer Homepage sollen mehrere Bildergalerien präsentiert werden. Dafür habe ich ein schönes Script gefunden, was auch prima läuft.
In den einzelnen Projekten sollen die Bilder in einer Galerie mit kleinen Vorschaubildern präsentiert werden. Klickt man auf eines der Vorschaubilder, so öffnet sich eine neue Seite mit dem großen Bild. Man kann dann in diesem Script einstellen, dass die Bilder nach 5, 10, 20 Sekunden oder aber erst bei Klick wechseln.
Für das erste Projekt habe ich es mit einem Array auch schon geschafft, unter die großen Bilder dynamisch auch die passenden Bildunterschriften zu platzieren.
arrTexte = new Array("","Text1","Text2","Text3",...)
Da ich dies jetzt aber für mehrere Projekte machen will, aber nur ein JS-Script benutzen möchte, dachte ich mir, ich erweitere das Array wie folgt:
arrTexte = new Array _
("","", _
"projekt1","Text1", _
"projekt1","Text2",
...,... _
"projekt2","Text1", _
"projekt2","Text2", _
...,...)
Nun habe ich aber gemerkt, dass das kein zweidimensionales Array ist. Ich wollte mit arrTexte[>1<][1], also mit der ersten '1', ermitteln, für welches Projekt die Texte geschrieben werden sollen. Den notwendigen Parameter gebe ich dem Aufruf der Funktion mit.
Wie baue ich ein solches Array am besten auf?
Danke für Hinweise.
Gruß,
Stefan
Hell-O!
Wie baue ich ein solches Array am besten auf?
Als sogenanntes Assoziatives Array vielleicht.
Siechfred
Hallo,
Als sogenanntes Assoziatives Array vielleicht.
vielen Dank für den Hinweis. An der Stelle hatte ich auch schon nachgesehen. Da aber die Projekte eine unterschiedliche Anzahl von Bildern haben, denke ich, dass ich damit leider nicht weiterkomme.
Gruß,
Stefan
Hell-O!
Da aber die Projekte eine unterschiedliche Anzahl von Bildern haben, denke ich, dass ich damit leider nicht weiterkomme.
Eventuell könnte so eine Datenstruktur funktionieren:
var Texte = new Object();
Texte['Projekt1'] = new Array('Bild 1', 'Bild 2');
Texte['Projekt2'] = new Array('Grafik 1', 'Grafik 2', 'Grafik 3');
Das könnte man dann so abfragen:
function project_exists(p) {
if(typeof Texte[p] != 'undefined')
alert(p+' existiert');
else
alert(p+' existiert nicht');
}
Zugriff auf die Texte erhältst du über Texte['Projektname'][index]. Vielleicht wäre das eine Überlegung wert.
Siechfred
Hallo zusammen,
Nun habe ich aber gemerkt, dass das kein zweidimensionales Array ist.
arrTexte = new Array (
new Array ( "Projekt1 Text1", "Projekt1 Text2" )
,new Array ( "Projekt2 Text1", "Projekt2 Text2" )
);
// Projekt1, Text2:
alert( arrTexte[0][1] );
Kalle
Hallo Kalle
arrTexte = new Array (
new Array ( "Projekt1 Text1", "Projekt1 Text2" )
,new Array ( "Projekt2 Text1", "Projekt2 Text2" )
);// Projekt1, Text2:
alert( arrTexte[0][1] );
OK, das habe ich soweit dann verstanden, vielen Dank.
Aber die Projekte haben eine unterschiedliche Anzahl von Bildern. Wie mache ich das dann?
Gruß,
Stefan
Hallo Stefan
Aber die Projekte haben eine unterschiedliche Anzahl von Bildern. Wie mache ich das dann?
arrTexte = new Array (
new Array ( "Projekt1 Text1", "Projekt1 Text2" )
,new Array ( "Projekt2 Text1", "Projekt2 Text2", "Projekt2 Text3" )
);
// Projekt2:
for ( i=0; i<arrTexte[1].length; i++) {
alert( arrTexte[0][i] );
}
LG Kalle
Sorry, es muss natürlich heissen
// Projekt2:
for ( i=0; i<arrTexte[1].length; i++) {
alert( arrTexte[1][i] );
// ^
}
LG Kalle