|
Vorheriges Thema: Nächstes Thema: |
Autor |
Nachricht |
Ben
Anmeldungsdatum: 12.01.2007 Beiträge: 3 Wohnort: Berlin
|
Verfasst am: 12.01.2007 17:28:56 Titel: Textstring und Variablen aneinanderhängen |
|
|
Hallo!
Für meine Website habe ich eine kleine Fotogalerie erstellt, die sich mit Hilfe von JavaScript durchblättern lässt.
Das Ganze sieht dann so aus:
JavaScript:
Code: |
var bild = new Array();
bild[0] = new Image(); bild[0].src="foto.jpg";
bild[1] = new Image(); bild[1].src="foto2.jpg";
bild[2] = new Image(); bild[2].src="foto3.jpg";
nr = 0;
function blaettern(richtung) {
if (richtung == "rr") {
nr = nr-1;
if (nr == -1) {
nr = bild.length-1; } }
else {
nr = nr+1;
if (nr == bild.length) {
nr = 0; } }
document.images.promopic.src=bild[nr].src; } |
HTML:
Code: |
<img src="foto.jpg" name="promopic">
<a href="javacript:blaettern('rr')">«</a>
<a href="javacript:blaettern('ff')">»</a> |
Soweit funktioniert das auch wie gewünscht.
Allerdings möchte ich jetzt mehrere kleine Galerien übereinander haben, die sich jeweils durchblättern lassen. Logischerweise muss ich dafür noch einen zweiten Wert an die Funktion geben, der die Galerie eindeutig identifiziert. Nur leider funktioniert das aus mir nicht bekannten Gründen nicht.
Die Aufrufe würden in HTML dann so lauten:
Code: |
<img src="foto1.jpg" name="promopic1">
<a href="javacript:blaettern('1','rr')">«</a>
<a href="javacript:blaettern('1','ff')">»</a>
<img src="foto2.jpg" name="promopic2">
<a href="javacript:blaettern('2','rr')">«</a>
<a href="javacript:blaettern('2','ff')">»</a> |
und JavaScript müsste in etwa folgendermaßen aussehen:
Code: |
var bild1 = new Array();
bild1[0] = new Image(); bild1[0].src="foto1.jpg";
bild1[1] = new Image(); bild1[1].src="foto1_2.jpg";
bild1[2] = new Image(); bild1[2].src="foto1_3.jpg";
nr = 0;
var bild2 = new Array();
bild2[0] = new Image(); bild2[0].src="foto2.jpg";
bild2[1] = new Image(); bild2[1].src="foto2_2.jpg";
bild2[2] = new Image(); bild2[2].src="foto2_3.jpg";
nr = 0;
function blaettern(bildnr,richtung) {
if (richtung == "rr") {
nr = nr-1;
if (nr == -1) {
nr = bild + "bildnr" + .length-1; } }
else {
nr = nr+1;
if (nr == bild + "bildnr" + .length) {
nr = 0; } }
document.images.promopic + "bildnr" + .src=bild + "bildnr" + [nr].src; } |
Ich bin für jede Hilfe dankbar, wie ich die Funktion für mehrere Galerien nutzen kann und freue mich auf Eure Antworten,
Ben
Zuletzt bearbeitet von Ben am 13.01.2007 14:41:58, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Kambfhase Häufiger Poster
Anmeldungsdatum: 19.03.2006 Beiträge: 235
|
Verfasst am: 12.01.2007 21:11:05 Titel: Re: Eine Funktion, verschiedene Werte |
|
|
[quote=Ben]
Code: |
var bild1 = new Array();
bild1[0] = new Image(); bild1[0].src="foto1.jpg";
bild1[1] = new Image(); bild1[1].src="foto1_2.jpg";
bild1[2] = new Image(); bild1[2].src="foto1_3.jpg";
nr = 0;
var bild2 = new Array();
bild2[0] = new Image(); bild2[0].src="foto2.jpg";
bild2[1] = new Image(); bild2[1].src="foto2_2.jpg";
bild2[2] = new Image(); bild2[2].src="foto2_3.jpg";
nr = 0;
function blaettern(bildnr,richtung) {
if (richtung == "rr") {
nr = nr-1;
if (nr == -1) {
nr = bild + "bildnr" + .length-1; } }
else {
nr = nr+1;
if (nr == bild + "bildnr" + .length) {
nr = 0; } }
document.images.promopic + "bildnr" + .src=bild + "bildnr" + [nr].src; } |
[/quote]
ICh glaube das Problem liegt daran, dass du "bildnr" schreibst statt bildnr aber so sicher bin ich mir da nicht.
Hoffe aber es hilft
MfG Kambfhase |
|
Nach oben |
|
|
Ben
Anmeldungsdatum: 12.01.2007 Beiträge: 3 Wohnort: Berlin
|
Verfasst am: 13.01.2007 14:40:39 Titel: |
|
|
Hi Kambfhase!
Vielen Dank für die schnelle Antwort, nur leider funktioniert es so nicht. Die Ausgabe erfolgt zwar genau andersherum richtig, also "bild" + bildnr + ".length+1", aber dadurch ist z.B. length ja nun ein String und keine Funktion mehr.
Leider sehe ich noch nicht durch, wie ich ich die Konstanten, Variablen und Funktionen jetzt logisch aneinanderhänge.
Beste Grüße |
|
Nach oben |
|
|
Kambfhase Häufiger Poster
Anmeldungsdatum: 19.03.2006 Beiträge: 235
|
Verfasst am: 14.01.2007 00:20:32 Titel: |
|
|
hier einmal der bessere code:
Code: |
var bild1 = new Array();
bild1[0] = "foto1_1.jpg";
bild1[1] = "foto1_2.jpg";
bild1[2] = "foto1_3.jpg";
var bild2 = new Array();
bild2[0] = "foto2_1.jpg";
bild2[1] = "foto2_2.jpg";
bild2[2] = "foto2_3.jpg";
nr = 0;
function blaettern( bildnr, richtung)
{
if( richtung == "rr")
{
nr--;
if (nr== -1)
{
nr= bild1.length();
}
}
else
{
nr++;
if(nr== bild1.length( ))
{
nr= 0;
}
}
document.getElementByID("promopic1").src= bild1[nr ];
document.getElementByID("promopic2").src= bild2[nr ];
} |
Dieses Script hat nun den Nachteil, dass beide Gallerien gleichgroß sein müssen.
Hoffe dir wird durch den klareren Aufbau verständlich wie man variablen und strings verschieden verwenden kann.
Ich hoffe das du bei problemen wieder nachfragst. Evntl werde ich das Script selber verwenden^^.
MfG Kambfhase |
|
Nach oben |
|
|
Ben
Anmeldungsdatum: 12.01.2007 Beiträge: 3 Wohnort: Berlin
|
Verfasst am: 14.01.2007 13:04:15 Titel: |
|
|
Hallo!
Ich habe dem Bild neben dem Namen "promopic1" jetzt auch noch eine gleichnamige ID verpasst.
Trotzdem funktioniert selbst der einfachste Aufruf nicht:
Code: |
function blaettern(richtung) {
if (richtung == "ff") {
nr++; }
document.getElementByID("promopic1").src=bild1[nr]; } |
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|