HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - Textstring und Variablen aneinanderhängen

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Textstring und Variablen aneinanderhängen

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Ben



Anmeldungsdatum: 12.01.2007
Beiträge: 3
Wohnort: Berlin

BeitragVerfasst am: 12.01.2007 17:28:56    Titel: Textstring und Variablen aneinanderhängen Antworten mit Zitat

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')">&laquo;</a>
<a href="javacript:blaettern('ff')">&raquo;</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')">&laquo;</a>
<a href="javacript:blaettern('1','ff')">&raquo;</a>


<img src="foto2.jpg" name="promopic2">

<a href="javacript:blaettern('2','rr')">&laquo;</a>
<a href="javacript:blaettern('2','ff')">&raquo;</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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kambfhase
Häufiger Poster


Anmeldungsdatum: 19.03.2006
Beiträge: 235

BeitragVerfasst am: 12.01.2007 21:11:05    Titel: Re: Eine Funktion, verschiedene Werte Antworten mit Zitat

[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
Benutzer-Profile anzeigen Private Nachricht senden
Ben



Anmeldungsdatum: 12.01.2007
Beiträge: 3
Wohnort: Berlin

BeitragVerfasst am: 13.01.2007 14:40:39    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kambfhase
Häufiger Poster


Anmeldungsdatum: 19.03.2006
Beiträge: 235

BeitragVerfasst am: 14.01.2007 00:20:32    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Ben



Anmeldungsdatum: 12.01.2007
Beiträge: 3
Wohnort: Berlin

BeitragVerfasst am: 14.01.2007 13:04:15    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.