Jörg Dutschke: Der Verzweiflung nahe ....

Hallo wiedereinmal ...

Inzwischen stehe ich kurz davor, mit meinem Compi Gravitationskraftexperimente durchzuführen ...
Es kann doch nicht sooooo schwer sein.

Bitte helft mir bei folgendem Problem weiter:
Ich habe mittlerweile ein Projekt, welches mehrere hundert Seiten umfaßt. Alles wird innerhalb eines
Framesets dargestellt ... die übliche Konstruktion Navigationsframe - Contentframe.
Ich möchte nun, daß im Contentframe Erklärungen zu den einzelnen Punkten des Navigationsframes angezeigt werden.
Mittels OnMouseOver soll die Anzeige "angestoßen" werden.

Die eine Möglichkeit wäre, in jeder einzelnen Contentdatei bestimmte Layer und DIVs für IE und NC zu definieren und diese dann über deren ID anzusprechen.
Aber: Bei der Anzahl von Seiten ist dies ja ein erheblicher Aufwand, diese alle zu ändern.

So: Nun suche ich nach einer Lösung, mit der ich vom Navigationsframe aus diese Layer/DIVs im Contentframe erzeuge.
Ich benötige dazu keine Scripts, welche umfangreiche Menüs erstellen .... lediglich nur paar Layer, die dann mit Inhalt gefüllt und je nach Event angezeigt werden sollen ....

Nachdem ich nun schon mehrere Tage an dem Problem dran bin ....naja, ihr wißt sicherlich wie man sich da fühlt ...

Ich hoffe, daß mir irgendjemand den entscheidenden Tip geben kann ...

Bitte helft mir!

Danke
Jörg

  1. Hallo Jörg,

    Ich möchte nun, daß im Contentframe Erklärungen zu den einzelnen Punkten des Navigationsframes angezeigt werden.
    Mittels OnMouseOver soll die Anzeige "angestoßen" werden.

    Warum sollen es den DIVs/Layer sein?
    Wenn es auch einfache Erklärungsseiten sein können, schreibe doch für jeden Navigationspunkt eine kleine Seite, die du bei onMouseOver aufrufst. Bei onMouseout setzt du die vorherige Seite wieder zurueck, entweder mittels back() oder besser durch erneuten Aufruf. Dann mußt dur dir die gerade angezeigte Seite allerdings merken. Das könnte in etwas folgendermaßen aussehen:

    var mainpage;

    funtion displayTopic(filename) {
      mainpage = mainframe.location.href;
      mainframe.location.href = filename;
    }

    function resetTopic() {
      mainframe.location.href = mainpage;
    }

    ....
    <a href"..." target="main_fram_name" onMouseOver="displayTopic('...')" onMouseOut="resetTopic"> ...</a> ...

    Viel Erfolg
      Kess

  2. Ich möchte nun, daß im Contentframe Erklärungen zu den einzelnen Punkten des Navigationsframes angezeigt werden.
    Mittels OnMouseOver soll die Anzeige "angestoßen" werden.

    Wo genau im Contentframe sollen diese Texte angezeigt werden? Ich kann mir das optisch nicht so recht vorstellen.

    Inhaltlich gesehen versuchst Du doch, etwas zu emulieren, was man ansonsten mit der Statuszeile (pfui ;-) oder Tooltips (für Deinen Fall vielleicht zu klein) realisieren würde.
    Dann aber würde ich in Deinem Fall einen zusätzlichen "Statuszeilen-Frame" verwenden und ansonsten wie von Kess beschrieben vorgehen (das spart Dir die Gedächtnisverwaltung, und Du hast die Statusinformation unabhängig von der Position innerhalb des ContentFrames immer sichtbar - es kostet halt Platz auf dem Bildschirm).

  3. Hi Jörg,

    grundlegend kann man es in diesem fall sehr schön so machen, wie von Kess od. Michael beschrieben....aber natürlich kannst du auch recht elegant sämtliche bereits bestehenden seiten _automatisiert_ mit einem 'div-container' versehen:

    Angenommen du benutzest ein intelligentes replacement-tool, wie es z.B. Homesite verwendet (sog. 'extended-replace') und es ist egal, wo das 'container-div' im source der seiten steht, dann könntest du das DIV direkt vor die (ja in jeder seite immer gleiche) zeichenkette </body> setzen, also ganz ans ende sozusagen:

    zu ersetzender string: </body>

    ersetzen mit: <div id="tooltip_container" style="..."></div></body>

    Wobei das div ruhig sehr rudimentär strukturiert sein kann. Denn solange du alle später zu ändernden style-angaben bereits dort machst, kann man diese auch später vom navigations-frame aus ansprechen und entsprechend neue werte zuweisen. Den reinen inhalt kannst du dann vom nav-frame aus dynamisch in dein container-div hineinschreiben.

    Wann immer sich was am container-div ändert (sollte bei umsichtiger planung sehr selten vorkommen), kann man durch extended-replacement jederzeit wieder automatisierte änderungen anstoßen, egal ob für 10, 100 od. 1000 seiten.

    So mache ich das eigentlich immer (ich arbeite intensiv mit templates) und das funkt eigentlich ganz gut und hat sich auch irgendwo als praktikabel erwiesen :))

    so long...
    /*,*/
    Wowbagger

  4. Hallo Jörg

    So: Nun suche ich nach einer Lösung, mit der ich vom Navigationsframe aus diese Layer/DIVs im Contentframe erzeuge.
    Ich benötige dazu keine Scripts, welche umfangreiche Menüs erstellen .... lediglich nur paar Layer, die dann mit Inhalt gefüllt und je nach Event angezeigt werden sollen ....

    unter <58663.html> habe ich dir doch die NN-Lösung für einen neuen Layer in einem anderen Frame gepostet. Ist die fehlerhaft (habe ich eigentlich getestet) oder benötigst du weitere Informationen?

    Die Inhalte kannst du in Variablen speichern und jeweils beim Mouseover abrufen. Zum Übergeben reicht dann ein Parameter.

    Viele Grüße

    Antje