FrameSeite öffnen und gleichzeitig Inhalt ändern
Tommy
- html
Hallo,
ich denke für Spezialisten ist das kein Problem:
Ich möchte auf einer Frameseite ein Tumb Bild anklicken und dies größer auf einer neuen Framesite darstellen. Hierzu möchte ich nicht jedesmal eine neue Seite erstellen müssen, sondern in einem Zug die Seite laden, in der dann der Inhalt geändert wird (also das angeklickte Bild als große Datei)
Wie kann ich so etwas realisieren (JAVA?) - oder vielleicht gibt es irgendwo ein Info / Beispiel, wie ich das mache?
Ich freue mich über alle Anregungen
Danke - Der unerfahrene Beginner :-)
Tommy
Hi,
Wie kann ich so etwas realisieren (JAVA?) - oder vielleicht gibt es irgendwo ein Info / Beispiel, wie ich das mache?
JAVA denk ich nicht, mit JavaScript sehr wahrscheinlich, mit PHP würd es sicherlich auch gehen, steht dir PHP zur verfügung?
MfG
Hallo Daniel,
JAVA denk ich nicht, mit JavaScript sehr wahrscheinlich, mit PHP würd es sicherlich auch gehen, steht dir PHP zur verfügung?
Das geht auch schon mit reinem HTML.
target und name sind die Stichworte.
Es kann aber auch sein, dass ich Tommys "Problem" gar nicht richtig verstanden habe.
Gruß Gernot
Hi,
Wie kann ich so etwas realisieren (JAVA?) - oder vielleicht gibt es irgendwo ein Info / Beispiel, wie ich das mache?
JavaScript:
<a href="bild.jpg" onClick="return popup(this.href);"><img src="thumb.jpg"></a>
Dann eine Funktion popup(), die mit window.open eine Anzeigeseite öffnet, den übergebenen Parameter mittels "?" an den URL der Anzeigeseite hängt und im Erfolgsfall (window.open gibt das neue Fensterobjekt zurück) mit "return false;" abgeschlossen wird (sonst "return true;").
Die Anzeigeseite liest den Parameter mit location.search aus, verkürzt ihn mit substring() und nimmt den Dateinamen als Quelle für ein IMG-Tag.
Die Quickbar ist dein treuer Begleiter. ;-)
Gruß, Cybaer
Hallo,
erst einmal Danke an alle für die Anregungen!
Ich muss mich jetzt erst einmal mit den Vorschlägen auseinander setzten und sehen, ob ich das hin bekomme. Ein funktinierendes Beispiel wäre sicherlich hifreicher :-)
Fall ich mich dumm ausgedrückt habe, hier noch einmal der Versuch:
1. Ich habe eine Seite "haupt.html" mit einem Bild "1.jpg" welches einen Verweis beinhalten soll. (Das ist zwar eine Frameseite, aber das spielt - glaube ich - keine Rolle).
2. Der Verweis soll eine neue Seite "neu.html" öffnen.
3. Gleichzeitig soll der Verweis von 1. ein Bild "2.jpg" auf der neuen Seite "neu.html" öffnen.
Ich benötige so nur einmal eine Seite "neu.html" und zeige verschiedene Bilder an.
Vielleicht hat ist ja jemand so nett und nimmt die Herausforderung an und tippt mal ein Beispiel für mich. tom@ts-fotodesign.de
Hallo Tommy,
Ich benötige so nur einmal eine Seite "neu.html" und zeige verschiedene Bilder an.
Ich bin mir immer noch nicht sicher, ob du nicht vielleicht nur einmal ein "neues Fenster" meinst. Nehmen wir mal an du möchtest mit gar keinem neuen Fenster arbeiten, sondern nur mit der Seite "neu.html", die bereits neben deiner anderen Seite "haupt.html" in deinem Frameset eingebunden ist, dann kannst du das Bild jeweils mit einem einfachen Javascript-Bildwechsel austauschen, vorausgesetzt all deine Bilder haben die gleichen Maße in Weite und Höhe. Sind die Maße unterschiedlich, dann muss die Seite "neu.html" jeweils mit den neuen Maßen und dem neuen Bild neu geladen werden. Bevor wir dir hier weiterhelfen können, müssen wir dein Problem verstehen.
Gruß Gernot
OK - danke - noch ein Versuch ;-)
Du hast es glaube ich richtig verstanden ;-)
Einen Verweis von einem bild auf eine neu zu öffnende Seite - ist ja kein Problem.
ABER....
mein Vorhaben nocheinmal Konkreter:
Ich habe 100 Tumb Bilder (klein/xx.jpg) mit Beschreibung auf einer Seite "haupt.html".
Wenn ich nun eines dieser Bilder anklicke möchte ich die Seite "neu.html" mit einem "platzhalter" für ein großes bild öffenen. Es soll jedes mal die optisch angepasste gleiche "neu.html" geöffnet werden, jedoch jedesmal ein anderes Bild "gross/xx.jpg" in abhängigkeit des beim TumbBildes hinterlegten Namens. Es gibt also je Bilder zwei Auflösungen klein "/klein/1.jpg" und groß "gross/1.jpg".
Ausführung:
auf haupt.html klick auf 1.jpg
Seite neu.html wird anstelle haupt.html gezeigt und das Bild "gross/1.jpg" angezeigt.
erneut auf haupt.html klick auf 55.jpg
Seite neu.html wird anstelle haupt.html gezeigt und das Bild "gross/55.jpg" angezeigt.
BOAAA ist das schwirig :-) Ich hoffe jetzt ist es eindeutig.
dann kannst du das Bild jeweils mit einem einfachen Javascript-Bildwechsel austauschen, vorausgesetzt all deine Bilder haben die gleichen Maße in Weite und Höhe.<<
Ja!!! Die Bilder sind alle gleich gorß
einfacher Javascript Bilderwechsel - hörst sich sehr gut an!
Wie bitte mache ich das?
Wie hinterlege ich quasie beim Bild "klein" den Namen für das "grosse" Bild und wie binde ich das auf der "neu" seite ein?
Danke für die Geduld mit mir ;-)
Gruß Tommy
Hi,
Wie hinterlege ich quasie beim Bild "klein" den Namen für das "grosse" Bild und wie binde ich das auf der "neu" seite ein?
Eine Möglichkeit habe ich Dir gezeigt, bzw. gesagt, wie man es prinzipiell in der neuen Seite einbinden muß.
IMHO sollte es für einen "Beginner" möglich sein, damit etwas zu basteln - zumindest etwas, wo man hier "verbessern/korrigieren/helfen" kann.
Solltest Du hingegen kein "Beginner" sein wollen, sondern ein "Macht mal für mich"-Faulenzer, dann schreibe doch bitte zukünftig *das* unter deine Mails und eben *nicht* "Beginner". 8->
Weitergehende Beispiele gibt es aber zuhauf im Web und auch hier im Archiv.
Gruß, Cybaer
Hallo,
danke für die Anmerkung bzgl . Beginner!
Ich bin leider (noch) Beginner.
Ich habe zwar ein paar Seiten mit Frontpage gezaubert, aber da es sich um einfaches "normales" zusammenklicken handelt, sehe ich das nicht als "können" an.
Deshalb habe ich auch in diesem Forum angefragt ;-)
Leider hatte ich selbst durch das studieren der SELF-HTML und das ansehen der Beispiele keine Idee für mein Problem. Das "2-Frames öffnen Script" macht leider ganz was anderes :-)
Ich möchte keinen fertig designeten Sites haben, sondern nur das "wie mache ich das". Und da ist es am einfachsten an einem Beispeil :-)
Gruß Tommy
hi,
Ich möchte keinen fertig designeten Sites haben, sondern nur das "wie mache ich das". Und da ist es am einfachsten an einem Beispeil :-)
wenn du erst mal ein HTML-dokument in deinem frame geöffnet hast, welches ein bild enthält - dann kannst du anschließend dessen quelle per javascript austauschen.
wie das generell funktioniert, zeigt dir das anwendungsbeispiel dynamische grafische buttons.
gruß,
wahsaga
Hi,
Und da ist es am einfachsten an einem Beispeil :-)
Da das recht einfach ist: Learning by doing - ab ins lauwarme Wasser. ;-)
Wie die Syntax zu window.open, location.search und substring lautet, kannst Du selfHTML entnehmen. Trau Dich - JS ist kein Hxenwerk! ;-))
Gruß, Cybaer
Hallo Tommy,
» auf haupt.html klick auf 1.jpg
Seite neu.html wird anstelle haupt.html gezeigt und das Bild "gross/1.jpg" angezeigt.
erneut auf haupt.html klick auf 55.jpg
Seite neu.html wird anstelle haupt.html gezeigt und das Bild "gross/55.jpg" angezeigt.
... Seite neu.html wird anstelle haupt.html gezeigt, das geht ja dann logischerweise nur beim ersten mal, aber da du ja mit einem Frameset arbeitest glaube ich auch nicht, dass es das ist was du willst.
Ich vermute: Du willst ein Frameset haben, bei dem der bereich mit den Thumbnails immer stehen bleibt und in dem man separat die 55 oder mehr kleinen Bilder herunterscrollen kann. Daneben hast du einen Frame, in dem die Großen Bilder angezeigt werden sollen, nennen wir ihn "haupt", also:
<frameset cols="200,*">
<frame src="thumbnails.html">
<frame name="haupt" src="immerWiederNeu.html">
</frameset>
dann kannst du das Bild jeweils mit einem einfachen Javascript-Bildwechsel austauschen, vorausgesetzt all deine Bilder haben die gleichen Maße in Weite und Höhe.<<
Ja!!! Die Bilder sind alle gleich gorß
Wie bitte mache ich das?
In deiner Datei "immerWiederNeu.html" bähst du zunächst nur einen blinden Pixel ist (transparentes Gif von 1*1 Pixel) als Platzhalter auf die Maße deiner großformatigen Bilder auf. Außerdem gibst du ihm einen Namen etwa so:
<img src="blind.gif" width="300" height="400" border="0" alt="Bild" name="bild">
Aus deinem Dokument "thumbnails.html" heraus kannst du das Bild dann über JavaScript über parent.haupt.document.images['bild'] ansprechen und auch austauschen z.B.:
parent.haupt.document.images['bild'].src='gross55.jpg';
Am besten machst du das mit einer Funktion, der du das neu einzublendene Bild als Übergabeparameter mitgibst.
function wechsel (pic) {
parent.haupt.document.images['bild'].src=pic;
}
Die rufst du dann in den Links, die du um deine Thumbnails setzt am besten im onClick-Eventhandler auf.
Wenn du den ersten Tipp von CyBaer studierst, kriegst du das dann vielleicht auch so hin, dass auch Leute, in deren Browser JavaScript deaktiviert ist, zumindest das blanke Bild in deinem Haupt-Frame sehen können.
Gruß Gernot
Hi,
- Der Verweis soll eine neue Seite "neu.html" öffnen.
Setze einfach einen Link auf die Seite mit dem Bildnamen als Parameter.
- Gleichzeitig soll der Verweis von 1. ein Bild "2.jpg" auf der neuen Seite "neu.html" öffnen.
Die neue Seite müßte dann über Javascript den Parameter auslesen und könnte das angeforderte Bild dann einbinden.
Vielleicht hat ist ja jemand so nett und nimmt die Herausforderung an und tippt mal ein Beispiel für mich.
Selbermachen ist angesagt. ;-)
Du wirst im Netz auch viele Beispiele hierzu finden.
freundliche Grüße
Ingo
Hallo Ingo,
danke!
Du wirst im Netz auch viele Beispiele hierzu finden.
Wo bitte?
Gruß Tommy
Hi,
Du wirst im Netz auch viele Beispiele hierzu finden.
Wo bitte?
z.B. bei mir: http://www.1ngo.de/foto/.
freundliche Grüße
Ingo
Hallo Tommy,
Ich möchte auf einer Frameseite ein Tumb Bild anklicken und dies größer auf einer neuen Framesite darstellen.
Wir sind uns hier uneins; möchtest du tatsächlich ein neues Fenster öffnen, oder nur einen bestimmten Bereich in deinem bestehenden Frameset aktualisieren? Wenn du es dir in letzterem Fall ersparen willst, für jedes deiner Bilder eine HTML-Seite zu basteln, weil du z. B. auch auf eine bestimmte Hintergrundfarbe Wert legst, dann geht das u. a. mit document.write()
Gruß Gernot