Link zu einem iFrame und gleichzeitig hoch zur Seite
Stephan
- html
Hallo @ all.
Ich habe ein kleines Problem und irgendwie nichts passendes im Forum gefunden, daher bin ich auf eure Hilfe angewiesen.
Ich habe auf der Homepage von meiner Freundin Bilder von unserer Katze eingestellt. Da ich diese als Galerie dazustellen versuche, aber auf JavaScript verzichten möchte, habe ich die Lösung in einem iFrame gesucht. Das heißt, dass sich das Bild groß im iFrame öffnet. Darunter habe ich die Thumbs in einer Tabelle gepackt und auf das iFrame verlinkt. Das klappt auch ganz gut. Das angeklickte Bild öffnet sich.
Da man bei den letzten Vorschaubildern recht weit runterscrollen muss und den iFrame dann nicht mehr sieht, wäre es optimal, wenn sich nicht nur das Bild im iFrame öffnet, sondern man auch gleichzeitig nach oben auf die Seite kommen würde. (Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.) Und dort wäre eure Hilfe sehr willkommen. Wie bekomme ich die dieses am elegantesten hin?
Hier der iFrame über der Tabelle:
<iframe src="mia001.html" name="mia" width="640" height="550" frameborder="0" marginheight="0" marginwidth="0"></iframe>
Link in der Tabelle:
<a href="mia001.html" target="mia"><img src="../../img/katzen/mia/tumbs/tmb_001.JPG" width="100" height="75" border="0" alt="mia">
Ich bedanke mich schon mal im Voraus.
Gruß Stephan
Hi,
Ich habe auf der Homepage von meiner Freundin Bilder von unserer Katze eingestellt. Da ich diese als Galerie dazustellen versuche, aber auf JavaScript verzichten möchte, habe ich die Lösung in einem iFrame gesucht. Das heißt, dass sich das Bild groß im iFrame öffnet. Darunter habe ich die Thumbs in einer Tabelle gepackt und auf das iFrame verlinkt. Das klappt auch ganz gut. Das angeklickte Bild öffnet sich.
Ob das die eleganteste Loesung ist laesst sich streiten (siehe z.B. hier: Nachteile von Frames).
Da man bei den letzten Vorschaubildern recht weit runterscrollen muss und den iFrame dann nicht mehr sieht, wäre es optimal, wenn sich nicht nur das Bild im iFrame öffnet, sondern man auch gleichzeitig nach oben auf die Seite kommen.
Wenn du auf Javascript verzichten moechtest ist es am einfachsten, eine serverseitige Technik wie PHP oder Perl zu benutzen, falls du einen Webserver zur Verfuegung hast, der sowas anbietet.
Ansonsten wuerde dir nur noch bleiben, fuer jedes Bild eine eigene Seite (ohne iFrame) zu erstellen und dann darauf zu verlinken.
Aber da die Seite auch ohne das Javascript funktionieren wuerde waere es vielleicht garnicht so schlimm, wenn du fuer diese Funktion ein Javascript verwenden wuerdest. Der Aufwand fuer dich waere dadurch sicher viel geringer, wenn du alles auf PHP umbauen muesstest.
mfG,
steckl
Hallo steckl.
Danke erstmal für die schnelle Antwort.
Mit JavaScript meinte ich eher, dass ich die Galerie nicht unbedingt in JavaScript erstellen möchte, da ich davon keine Ahnung habe. Ich hatte mir so einige fertige Systeme angeschaut, die mir aber nicht gefallen haben. So bin ich auf den iFrame gekommen.
Gibt es denn keine Möglichkeit den Link so zu programieren, dass er das Bild im Frame öffnet und gleichzeitig die Seite nach oben switcht?
Gruß Stephan
Hi,
Gibt es denn keine Möglichkeit den Link so zu programieren, dass er das Bild im Frame öffnet und gleichzeitig die Seite nach oben switcht?
Baue folgendes zusaetzlich in deine Link-Tags ein:
onclick="location.href = '#IFRAME_ID';"
IFRAME_ID musst du mit dem Name oder der ID deines IFrames (weiss nicht genau welches von beiden bei IFrames verwendet wird, vielleicht sind auch beide moeglich) ersetzen.
Das # steht fuer einen Anker.
Falls JS deaktiviert sein sollte wird das Bild dann immernoch im IFrame geoeffnet, nur das hochscrollen funktioniert dann eben nichtmehr.
mfG,
steckl
Hallo steckl.
Ich habe den code von dir mal eingebaut. Nochmal zum vergleich:
<iframe src="mia001.html" name="mia" width="640" height="550" frameborder="0" marginheight="0" marginwidth="0"></iframe>
<a href="mia039.html" onclick="location.href = '#mia';" target="mia"><img src="../../img/katzen/mia/tumbs/tmb_039.JPG" width="100" height="75" border="0" alt="mia"></a>
Im IE 7 funktioniert es. Im Firefox 2.0, Netscape 7.1 und Opera 9.0 leider nicht. JavaScript ist bei allen aktiviert, habe ich überprüft.
Habe ich da vielleicht etwas falsch gemacht?
Wäre schön, wenn du dir das nochmal anschauen könntest.
Ich danke dir auf jeden Fall schon mal für die Mühe.
Gruß Stephan
Hi,
<iframe src="mia001.html" name="mia" width="640" height="550" frameborder="0" marginheight="0" marginwidth="0"></iframe>
Versuchs mal, wenn du noch zusaetzlich id="mia" hinzufuegst. Dann sollte es klappen. Habs gerade im FF1.5 getestet.
Das name-Attribut beim iframe wird wohl von den standard-konformen Browsern anders interpretiert als vom IE.
mfG,
steckl
Hallo steckl.
Jetzt funktioniert es auch in den anderen Browsern. Ich danke dir vielmals für die Hilfe.
Alleine hätte ich es nicht geschafft.
Und, ich habe wieder etwas dazugelernt.
Wünsche dir noch eine schöne Restwoche und ein schönes Wochenende.
Viele Grüße aus Rostock
Stephan