rollover in anderem frame darstellen

romu

Mitglied
hallo,

ist es möglich ein rollover bild in einem anderen frame darzustellen.

angenommen ich habe eine internetseite, auf der linken seite sind die sachen die ich mit der maus auswähle. bei einem mousover ändert sich aber auf der rechten seite jeweils ein bild Funktioniert sowas nur mit javascript (habe noch nie was mit js gemacht!) oder ist das vielleicht auch in php möglich (was ich nicht glaube!)

Könnte mir vielleicht jemand erklären wie das funktionieren soll?
vielen dank

romu
 
Hi,

Ich stelle mir vor, dass in etwa mit folgendem Script funktionieren müsste:
PHP:
parent.frames["framename"].getElementById("picid").src="r_over.gif";
Habe es allerdings nicht ausprobiert und würde auch nicht meine Hand dafür ins Feuer legen. ;)

Gruß
 
Oh, sorry:

Wenn Du ein Bild in einer HTML-Seite hast, sieht der Code dafür in etwa so aus:
PHP:
<img name="Bild1" src="test.gif" width="32" height="32" alt="">
Das heißt, jedes Element hat einen Namen oder eine ID (in diesem Fall "Bild1"),
anhand derer Du auf das Objekt zugreifen kannst.

Schreibe (in diesem Beispiel) also "Bild1" für picid und du bekommst das Bild.
Die Eigenschaft .src (für Source) legt die Quelldatei für das Bild fest.

(Bei RollOver ist es übrigens besser, die Bilder zu Beginn vorausladen zu lassen)
 
danke dir :)

ist es denn auch möglich anstatt eines frames eine tabelle zu benutzen in der die rolloverbilder angezeigt werden ?

oder ist das ganze nur mit frames möglich ?
 
Klar.

JavaScript findet (normalerweise) alle Objekte auf der Seite, ob diese nun in einer Tabelle oder sonstwo liegen... :)

Nimm einfach statt parent.frames["name"]
PHP:
document.getElementsById("Bildname");
so lange das Bild einen korrekten Bezeichner hat, sollte es funktionieren.

Gruß
 
nochmal eine kurze frage :)))

ich danke dir jetzt schonmal recht herzlich für deine mühe und die schnellen antworten, aber so richtig steige ich da nicht durch !

ich habe dir anhand eines kleinen scripts mein vorgehen mal sichtbar gemacht.

script:

<body>
<p><a href="file:///C|/server/BigApache/Apache/htdocs/testheader1.php?id=801">link1</a></p>
<p><a href="file:///C|/server/BigApache/Apache/htdocs/testheader1.php?id=802">link2</a></p>
<p>&nbsp;</p>
<table width="100" border="0">
<tr>
<td>hier soll das bild rein bei mouseover </td>
</tr>
</table>

</body>

wenn ich mit der maus über einen der beiden links gehe, möchte ich das in der tabelle das jeweilig zum link passende bild angezeigt wird. könntest du mir vielleicht anhand des scripts einen kleinen fingerzeig geben, wie ich das ganze dort einfügen kann

romu
 
Hmm - so einfach wird das wohl hier nicht gehen, da die Bilder ja von Deinem PHP-Script abhängen (soll heißen, JavaScript weiß ja zu dem Zeitpunkt noch nicht, welches BIld angezeigt werden soll).

Prinzipiell käme in die Links etwa folgender Code:
PHP:
<p><a href="file:///C|/server/BigApache/Apache/htdocs/testheader1.php?id=801" onMouseOver="show_img(1)">link1</a></p>
<p><a href="file:///C|/server/BigApache/Apache/htdocs/testheader1.php?id=802" onMouseOver="show_img(2)">link2</a></p>
<p> </p>
<table width="100" border="0">
<tr>
<td><img name="Thumb" src="" width="32" height="32" alt=""></td>

in den Header kommt noch eine JS-Funktion:
PHP:
function show_img(nr) {
  document.getElementById("Thumb").src=my_image(1);
}

Die Bilder liegen hier mal in einem Array namens "my_image()".

Prinzipiell würde ich von PHP per "echo" entsprechende Zeilen in die Seite schreiben lassen, in denen die Links zu den Thumbnails in einem solchen Array abgelegt werden.

Gruß
 
cool, danke, aber....

kann man eigentlich in einem javascript code auch php mit einbinden

z.B. so :

p><a href="file:///C|/server/BigApache/Apache/htdocs/testheader1.php?id=801" onMouseOver="show_img(<? echo $daten['bild']; ?>)">link1</a></p>
 
Klar geht das. PHP kannst du überall ausgeben lassen, der Browser merkt ja an sich nichts davon, weil es schon auf dem Server ausgeführt wurde. Hauptsache, die Syntax stimmt. ;)
 
Zurück