• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Noob braucht Hilfe

Noim

New member
Hallo Leute,
Code:
ich bin relativ neu in der HTML, JavaScript und PHP Welt. Doch ich habe mich an etwas versucht. Ich habe versucht eine kleine Bilder Reihe zu machen. Nur ist es im Moment so das es für jedes einzelne Bild einen Button gibt. Doch ich möchte das es nur einen Next Button gibt. Ich habe diese Beiden Funktionen:
Code:
var namen=new Array("/index/First.png","/index/Second.png","/index/Add.png","/index/DONE.png");
var bilder=new Array();

function lade()
{
  var i;
  for (i=0;i<4;i++)
  {
    bilder[i]=new Image();
    bilder[i].src=namen[i];
  }
}

function zeige(nr)
{
  document.images[0].src=bilder[nr].src;
}
Nun habe ich versucht eine Next Funktion zu machen. Die sieht so aus:
Code:
function next(){
  var i;
  for (i=0;i<4;i++){
    if (name[i] == document.images[0].src.getName){
         
         if (i >= 4){
            document.images[0].src=bilder[0].src;
         } else {
            document.images[0].src=bilder[i+1].src;
         }
         
         console.log("If erfolgreich");  
    }
    console.log("for erfolgreich ");
  }
  console.log("next() erfolgreich");
}
Als Fehler bekomme ich das:
Code:
 Uncaught TypeError: Cannot read property 'src' of undefined(index):27 next(index):95 onclick
Ich habe bisher noch nicht viel mit JS gemacht. Ich kenne mich eigentlich auch nur mit Java aus, aber ich baue einen wirklich nur ganz kleine Website wo nur 4 Bilder und ein Text ist.

Ich hoffe ihr könnt mir helfen.

MFG Nils
 
Zuletzt bearbeitet:
getName ist mir jetzt kein Begriff. Einfacher ist es, wenn Du mit dem Index arbeitest:
Code:
var namen=new Array("/index/First.png","/index/Second.png","/index/Add.png","/index/DONE.png");
var bilder=new Array();
var currentIdx = 0;
function next(){
    currentIdx++;
    if (currentIdx == namen.length) currentIdx = 0
    zeige(currentIdx); 
}
 
Zuletzt bearbeitet:
Hi Nils,

wenn Du jetzt noch auf "new Array()" verzichtest und dafür nur "[]" nimmst, hast auch gleich was für die Performance getan. ;)
 
Zurück
Oben