Robert: Es werde dynamisch...

Hallo lieber Leser...

Mein Problem...ich möchte Folgendes erreichen... aus einer relativ langen Namensliste soll ein Name ausgewählt werden können. Beim Anklicken eines Namens soll unter der Liste eine kleine Visitenkarte eingeblendet werden, welche dann weitere Infos über die ausgewählte Person/Name liefert. OK. Ich habe es nun folgendermaßen gelöst. Die Liste selbst eine Tabelle! Darunter befindet sich ein absolut positioniertes DIV ohne Inhalt mit entsprechenden Formatierungen (Höhe, Breite,...). Beim Anklicken eines Namens wird die Funktion werbinich() ausgeführt. Dieser übergebe ich als Parameter die entsprechenden Werte des ausgewählten Namens:

onclick="werbinich('Hans', 'Meier' ,'Diesestr.1', '12345 Hierbroich');".

Diese Funktion erstellt eine Tabelle und füllt sie mit den ensprechenden. Die Tabelle selbst wird in das leere DIV hineingeschrieben.
Es scheint zu funktionieren (NN & IE)... da ich aber erst kürzlich angefangen habe mit Javascript zu experimentieren lautet meine Frage... ist dieser Lösungsweg "optimal" oder ... tja..oder?

Für Kritik oder besser... Anregungen bin ich im voraus dankbar!

Robert!

  1. Grüssi,

    onclick="werbinich('Hans', 'Meier' ,'Diesestr.1', '12345 Hierbroich');".

    Diese Funktion erstellt eine Tabelle und füllt sie mit den ensprechenden. Die Tabelle selbst wird in das leere DIV hineingeschrieben.

    Es scheint zu funktionieren (NN & IE)... da ich aber erst kürzlich angefangen habe mit Javascript zu experimentieren lautet meine Frage... ist dieser Lösungsweg "optimal" oder ... tja..oder?

    In welcher Hinsicht? Aus sicht der DHTML? Oder des Datenkonzeptes? DHTML kann ich nicht. Obs schneller/ressourcenschonender ist, alles in Klassen/Objekte zu packen kann ich auch nicht sagen, schöner, skalierbarer, ev. auch einfacher (von der Implementation abhängig) ist es auf alle Fälle!

    Bsp:

    function Visitenkarte(vn,nn,adr,plz,ort) {
       this.vorname  = vn;
       this.nachname = nn;
       this.adresse  = adr;
       this.plz      = plz;
       this.ort      = ort;
    }

    var vcListe = new Array ();

    vcListe[0] = new Visitenkarte('Hans' , 'Meier' , 'Diesestr.1' , 12345 , 'Hierbroich');

    function werbinich(id) {
      alert (vcListe[id].vorname +" "+ vcListe[id].nachname + " wohnt in ");
      alert (vcListe[id].adresse +" in "+ vcListe[id].plz +"-"+ vcListe[id].ort);

    }

    werbinich(0);

    ----

    je nachdem wie dein file aufgebaut ist, wenn du's irgendwie einbauen kannst, würd ich das machen, mit Betonung auf ICH ;-)

    lg regenfeld

  2. Ave Robert,

    das einzige was mir vielleicht noch zusätzlich zum vorherigen Kommentar einfällt. Wie greifst du auf den <div> Tag zu?

    So:       document. ... .dein-div-tag.innerHTML

    wenn ja solltest du eher getElementById( ) verwenden, da dieses zukunftsorientierter ist. Ebenfalls soll es viele Ungleichheiten im dHTML Standard ausgleichen, mehr darüber findest du in selfhtml 8.0 oder beim w3 consortium (www.w3c.org) unter den Thema DOM.

    So sollte es aussehen:

    document.getElementById('dein-div-tag').innerHTML

    Einziger Hacken, der Standard wird nur von den neueren Browsern unterstützt. ( IE5, NS6 )

    mfg martin