David: links und Array

Hallo!

Wir haben verschiedene Arrays welche fuer verschiedene Punkte stehen und die Koordinaten und ein dazugehoeriges
Bild.
So sieht das aus:

// Kunstruktor
function photoPoints(pnum, posn, pose, posh, rotx, roty, rotz, camc, pimg) {
this.pnum = pnum;
this.posn = posn;
this.pose = pose;
this.pimg = pimg;
}

//  If anything found.
var ppoints   = new Array();
ppoints[0]    = new photoPoints('', '', '', '', '', '', '', '', '');
ppoints[1]    = new photoPoints('P199703A4470', ' 6278507.868 ', '  580898.938 ', 'A/A4470.jpg');
ppoints[2]    = new photoPoints('P199703A4471', ' 6278406.935 ', '  578932.151 ', 'A/A4471.jpg');
...usw.

So werden sie dargestellt (sind vorher auf Bildschirmkoordinaten berechnet und dem Objekt "pp"
zugewiesen und jedes erhalt das pop.gif):

function customize() {

for(var i=0; ppoints[i];i++) {
   document.write("<a href='JavaScript:getKrokis()'>");
   document.write("<img id="pp" + i +"" src="images/pop.gif" "width="7" border=0 style="display:none;position:absolute;top:10;left:10">");
   document.write("</a>");
 }
}
Funktioniert alles ganz super nur dann das Bild zu verknuepfen geht nicht.
Bisher funktioniert es nur mit einem Bild (ppoints[1]) fuer alle so, er soll aber den Punkten das richtige Bild zuweisen!
Wir haben es schon mit einer Schleife versucht, dann will er pro link aber alle darstellen (also ERROR)

function getKrokis()  {

document.images['kroki'].src=ppoints[1].pimg;
}

er soll aber den Punkten das richtige Bild zuweisen!
Wir haben es schon mit einer Schleife versucht, dann will er pro link aber alle darstellen (also ERROR)
Hat da jemand eine Idee? Vielleicht muss die Zuweisung ja auch in function customize() passieren?

Verzweifelt und zunehmend demotiviert David

  1. Hallo David,

    // Kunstruktor
    function photoPoints(pnum, posn, pose, posh, rotx, roty, rotz, camc, pimg) {

    warum so viele Übergabeparamter, die dann doch nicht gebraucht werden?

    this.pnum = pnum;
    this.posn = posn;
    this.pose = pose;
    this.pimg = pimg;
    }

    //  If anything found.
    var ppoints   = new Array();
    ppoints[0]    = new photoPoints('', '', '', '', '', '', '', '', '');
    ppoints[1]    = new photoPoints('P199703A4470', ' 6278507.868 ', '  580898.938 ', 'A/A4470.jpg');
    ppoints[2]    = new photoPoints('P199703A4471', ' 6278406.935 ', '  578932.151 ', 'A/A4471.jpg');
    ...usw.

    function customize() {

    for(var i=0; ppoints[i];i++) {

    1 da ppoints(0)  ja nichts enthält

    document.write("<a href='JavaScript:getKrokis()'>");

    (i) damit alle Bilder dran kommen

    document.write("<img id="pp" + i +"" src="images/pop.gif" "width="7" border=0 style="display:none;position:absolute;top:10;left:10">");
       document.write("</a>");
     }
    }

    function getKrokis()  {

    (nr)   damit die FKT weis, wer dran ist

    document.images['kroki'].src=ppoints[1].pimg;

    ['kroki'+i]          [i]   s.o.

    }

    Deine Bilder müssen jetzt natürlich die IDs kroki1, kriki2, ... haben.

    Gruß,     Jürgen

    --
    <img src="http://www.uni-muenster.de/Physik/AP/Purwins/leute/Berkemeier/Plasmakugel.gif" border="0" alt="">
    1. Hallo Juergen!

      Hab es jetzt schon aehnlich hinbekommen, indem ich den Index mit uebergebe. Funktioniert! Trotzdem danke.

      Und die vielen Uebergabeparameter brauche ich noch fuer andere Berechnungen.

      David