Bilder austauschen wie bei E-Bay?

Hardware, Software, Webdesign & Coding.

Moderator: Katana

Benutzeravatar
AeternoS
Beiträge: 965
Registriert: Fr Jan 05, 2001 1:01 am

Beitrag von AeternoS »

Okay, hab da noch was gefunden:

Bei

Code: Alles auswählen

// Zeigt das vorherige Bild an 
function previousPic() { 
   currentPicNr++; 
   if (currentPicNr > pictureArray.length) { 
      currentPicNr++; 
      return; 
   } 
   showPic(currentPicNr); 
} 
mußte ich die ersten ++ in -- umändern (logisch ;) ):

Code: Alles auswählen

// Zeigt das vorherige Bild an 
function previousPic() { 
   currentPicNr--; 
   if (currentPicNr > pictureArray.length) { 
      currentPicNr++; 
      return; 
   } 
   showPic(currentPicNr); 
}
Was mir nicht so einleuchtet:
Warum heißt es bei der funktion fürs vorige Bild

Code: Alles auswählen

   if (currentPicNr > pictureArray.length) { 
      currentPicNr++; 
?

Logisch wär es doch, wenn es anstatt > ein < ist, da die Nummer doch kleiner sein muß, damit er eins dazu zählt, oder?
Wenn ich das aber so abändere, funktioniert es nicht... :roll:

Desweiteren kommt auf klick bei ""weiter"" noch ein Bild nach dem letzten (undifined). Das selbe bei ""zurück"" beim ersten Bild.
Das hab ich übrigens umgangen, indem ich anstatt pictureArray.lenght einfach die jeweilige Zahl (0 und die Zahl des letzten Bildes) reingeschrieben hab. Wär aber trotzdem interessant zu wissen, warum das so ist... ;)
Larc: Du bist in der Hölle. [...]
Toto: Was soll das...? Was habe ich denn getan?
Larc: Na hör mal, du hast an Frauenkleidern geschnüffelt.
---------------------------------------------------
(Seiken Densetsu ~ Legend Of Mana - Band 1)
Benutzeravatar
Katana
Beiträge: 5337
Registriert: So Jan 02, 2000 1:01 am

Beitrag von Katana »

*arg*
Man sollte nicht so zwischen Tür und Angel programmieren, das kann nicht funktionieren ;)

Hast natürlich recht, sind allerdings noch 2 weitere Kleinigkeiten.
Hab's oben geändert, was geändert wurde ist.

Code: Alles auswählen

function previousPic() { 
	currentPicNr++; 
	if (currentPicNr > pictureArray.length) { 
in

Code: Alles auswählen

function previousPic() { 
	currentPicNr--; 
	if (currentPicNr < 0) {
und in function nextPic():

Code: Alles auswählen

	if (currentPicNr > pictureArray.length) {
in

Code: Alles auswählen

	if (currentPicNr >= pictureArray.length) {
Zuletzt geändert von Katana am Mo Sep 15, 2003 6:09 pm, insgesamt 1-mal geändert.
Benutzeravatar
AeternoS
Beiträge: 965
Registriert: Fr Jan 05, 2001 1:01 am

Beitrag von AeternoS »

Habs getestet. Jetzt tuts.
Aber Ein kleiner Fehler scheint noch drin zu sein:

Bei

Code: Alles auswählen

function previousPic() { 
   currentPicNr--; 
   if (currentPicNr <= 0) { 
      currentPicNr++; 
      return; 
   } 
   showPic(currentPicNr); 
} 
mußte ich

Code: Alles auswählen

if (currentPicNr <= 0)
in

Code: Alles auswählen

if (currentPicNr < 0)
abändern damit es funktioniert. Sonst wird das erste Bild beim Zurückklicken nicht angezeigt... :roll:
Larc: Du bist in der Hölle. [...]
Toto: Was soll das...? Was habe ich denn getan?
Larc: Na hör mal, du hast an Frauenkleidern geschnüffelt.
---------------------------------------------------
(Seiken Densetsu ~ Legend Of Mana - Band 1)
Benutzeravatar
Katana
Beiträge: 5337
Registriert: So Jan 02, 2000 1:01 am

Beitrag von Katana »

Klar ... *grml*

Scheiß Denkfehler ... stimmt :D

edit: Ich hab's dann oben auch veränder ... *hmpf*
Antworten