Babette: Bilder in Tabelle verschieben

Hallo Forum! Ich habe endlich geschafft das sich alle bilder so bewegen wie ich es haben will. Nämlich bei klick auf pfeil in die jeweilige Richtung. Mein Problem ist aber noch wie ich es umschreiben müsste so das nach dem letzten Bild nicht erst mal die ganze Reihe nur noch leere Zellen kommen bis wieder von vorn angefangen wird. Ich bin nicht besonders gut im programmieren und hoffe das mir hier jemand helfen kann! Viele Grüsse aus der Hitze.
Hier der Code:

var Bilder = new Array("bilderUK/fotos1.gif","bilderUK/fotos2.gif","bilderUK/fotos3.gif","bilderUK/fotos4.gif","bilderUK/fotos5.gif","bilderUK/fotos6.gif","bilderUK/fotos7.gif","bilderUK/fotos8.gif","bilderUK/fotos9.gif","bilderUK/fotos10.gif");

var BildAnzahl = Bilder.length;
var number = 0;
var BildFolge = new Image(); BildFolge.src = Bilder[number];

function change(direction) {

number = number + direction;

if(number < 0) number = BildAnzahl -1;
else if(number > BildAnzahl -1 ) number = 0;

BildFolge.src = Bilder[number];
document.austausch1.src = BildFolge.src;
document.austausch2.src = Bilder[number+1];
document.austausch3.src = Bilder[number+2];
document.austausch4.src = Bilder[number+3];
document.austausch5.src = Bilder[number+4];
document.austausch6.src = Bilder[number+5];

}
function bilderGross(){

window.open("bilderGross" +number+ ".htm", "beschreibungsFenster","width=300, height=400,top=0");
window.focus();
return 0;
}

  1. hi,

    if(number < 0) number = BildAnzahl -1;
    else if(number > BildAnzahl -1 ) number = 0;

    BildFolge.src = Bilder[number];
    document.austausch1.src = BildFolge.src;
    document.austausch2.src = Bilder[number+1];
    document.austausch3.src = Bilder[number+2];
    document.austausch4.src = Bilder[number+3];
    document.austausch5.src = Bilder[number+4];
    document.austausch6.src = Bilder[number+5];

    was passiert hier, wenn number = bildanzahl ist?
    dann greift schon die zweite zeile,

    document.austausch2.src = Bilder[number+1];

    auf einen array-index zu, den es gar nicht gibt.
    wenn du dabei keine fehlermeldungen bekommst, würde mich wundern ...

    du musst dir wohl eine möglichkeit überlegen festzustellen, ob number+x schon über BildAnzahl -1 hinausgeht.

    eventuell würde sich da eine berechnung des divisionsrestes über modulo anbieten ...

    also in etwa so, nehmen wir mal an es gibt wie in deinem beispiel 10 bilder, und number hätte aktuell den wert 8.

    dann würde number+2 auf den array-index 10 zugreifen, der aber nicht existent ist. stattdessen müsste jetzt wieder der index 0 genommen werden.

    wenn du jetzt (number+2) modulo 9 (array-länge minus 1) rechnest, und noch eins abziehst, erhältst du wieder 0.
    für number+3 1, für number+4 2, etc.

    leider scheint es in javascript keinen modulo-operator oder -funktion zu geben, dieser müsste also noch selber entwickelt werden - ist aber auch nicht besonders schwer ...

    gruss,
    wahsaga

    1. hi,

      leider scheint es in javascript keinen modulo-operator oder -funktion zu geben, dieser müsste also noch selber entwickelt werden - ist aber auch nicht besonders schwer ...

      argh, natürlich gibt es ihn auch in javascript, hab nur an der falschen stelle nachgesehen - es ist %, wie in vielen anderen programmiersprachen auch.

      gruss,
      wahsaga