onmouseover, Name der Grafik ermitteln
Jupp Kleingeist
- javascript
0 wahsaga0 jupp Kleingeist0 Struppi0 Jupp Kleingeist
Hallo,
mittels
<IMG datafld="Bild" ...>
werden mit diesem einen Aufruf aus einer Datei 'n' Bildnamen gelesen und dargestellt.
Nun soll jedes Bild soll mittels onmouseover einen eigenen Verweis erhalten.
Gerne würde ich den Namen der Bilddatei per id=/name= gleich mit zuweisen. Doch das scheint nicht zu gehen.
Mit document.images[n].scr stehen mir alle verwendeten Dateinamen zur Verfügung. Nur wie erfahre ich von onmouseover auf welchem Bild 'image[x]'der Cursor gerade steht?
MfG JK
hi,
Nur wie erfahre ich von onmouseover auf welchem Bild 'image[x]'der Cursor gerade steht?
du könntest der aufgerufenen funktion this als parameter übergeben, dann solltest du mit this.name auch zugriff auf den bildnamen haben.
gruss,
wahsaga
du könntest der aufgerufenen funktion this als parameter übergeben, dann solltest du mit this.name auch zugriff auf den bildnamen haben.
gruss,
wahsaga
Danke für die schnelle Antwort.
Probiert und fehlgeschlagen.
alert(this.name)zeigt keinen Inhalt an.
Verstehen wir uns richtig, es ist kein name= oder id= vergeben. Lediglich der Dateiname bild-xy.jpg ist irgendwo bekannt. zB. in document.images[n].src . Wenn onmouseover auf das Bild reagiert sollte auch irgendwie 'n' heraus zu bekommen sein.
Gruß JK
alert(this.name)zeigt keinen Inhalt an.
Verstehen wir uns richtig, es ist kein name= oder id= vergeben. Lediglich der Dateiname bild-xy.jpg ist irgendwo bekannt. zB. in document.images[n].src . Wenn onmouseover auf das Bild reagiert sollte auch irgendwie 'n' heraus zu bekommen sein.
wenn du keinen Namen vergeben hast gibt es auch keinen Namen. Und n kannst du nur indirekt rauskriegen sollte aer auc nicht notwendig sein, da du ja bereits die Refrenz hast (this).
Struppi.
wenn du keinen Namen vergeben hast gibt es auch keinen Namen. Und n kannst du nur indirekt rauskriegen sollte aer auc nicht notwendig sein, da du ja bereits die Refrenz hast (this).
Struppi.
Hallo,
die Referenz this ist in diesem Fall nicht gegeben.
Etwas konkreter, Bsp.:
Externe Datei: Inhalt.txt
Bildname |Beschreibung
Bild-1.jpg|Ein schönen Bild
Bild-2.jpg|Noch ein Bild
Bild-3.jpg|und so weiter ...
Diese folgenden Zeilen lesen die Datei Inhalt.txt aus und stellen alle Bilder nebst der Beschreibung dar.
<Table ...><TR><TD ...>
<a onmouseover="show(this)"
<span datafld="Beschreibung" > </span>
<IMG datafld="Bildname"></a>
</Table>
Würde ich eine id/ name vergeben, hätten alle Bilder die gleiche id/name. Auch onmouseover nebst parameter ist einheitlich für alle Bilder. Es bleibt nur herauszufinden auf welchem Bild der Cursor steht wenn show() aufgerufen wird.
Gruß JK
<Table ...><TR><TD ...>
<a onmouseover="show(this)"
<span datafld="Beschreibung" > </span>
<IMG datafld="Bildname"></a>
</Table>
ist der Link notwendig?
Wenn ja, bleibt dir als Option, einen Zähler mitlaufen zu lassen (ich hab keine Ahnung ob das geht, da mir datafld überhaupt nichts sagt und ich keine Ahnung habe mit was für einer Programmiersprache du hier arbeitest) und der Funktion show zu übergeben.
Würde ich eine id/ name vergeben, hätten alle Bilder die gleiche id/name. Auch onmouseover nebst parameter ist einheitlich für alle Bilder. Es bleibt nur herauszufinden auf welchem Bild der Cursor steht wenn show() aufgerufen wird.
Du meinst den Mauszeiger, der Cursor ist das Ding in einem Texteingabefeld.
Eventuell kommst du über childnotes an das Bildhttp://selfhtml.teamone.de/javascript/objekte/node.htm#child_nodes
Struppi.
hi,
ich hab keine Ahnung ob das geht, da mir datafld überhaupt nichts sagt und ich keine Ahnung habe mit was für einer Programmiersprache du hier arbeitest
ist ein spezielles, von MS im IE implementiertes konzept, um daten aus externen datenquellen einbinden zu können, siehe auch http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm.
ich würde dem frager allerdings auch empfehlen, sich gleich mit einer serverseitigen scripting-technik zu beschäftigen, als mit diesem MS-only-kram.
gruss,
wahsaga
hi,
ist ein spezielles, von MS im IE implementiertes konzept, um daten aus externen datenquellen einbinden zu können, siehe auch http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm.
Hallo,
ich habe da mehr ein grundsätzliches Problem. Vergessen wir einmal die Datenanbindung.
Im Kern, auf irgend eine Art u. Weise wird eine Seite mit mehreren Bildern aufgebaut. Und warum auch immer, liegt onmouseover über alle Bilder.
<IMG src="Bildxy.jpg" >);
<IMG src="Bildyxz.jpg" >);
<a onmouseover ("show()");>
<script >
while(i <= 20) {
document.write ('<IMG src="Bild-'+ i + '.jpg" >);
i = i + 1;
}
</script>
</a>
Ich möchte nun in show() feststellen, mit welchem Bild der Event ausgelöst wurde.
mit document.images[n].src stehen die Namen (.../pics/Bildxy.jpg usw.)aller Bilder ,auch die außerhalb der Schleife zur Verfügung.
Irgendwo (document...) muß doch stehen wer den Event ausgelöst hat.
MfG JK
ich habe da mehr ein grundsätzliches Problem. Vergessen wir einmal die Datenanbindung.
Naja, wenn du es nicht so machen würdest wie du es machst könnte man es vermutlich einfacher lösen.
Im Kern, auf irgend eine Art u. Weise wird eine Seite mit mehreren Bildern aufgebaut. Und warum auch immer, liegt onmouseover über alle Bilder.
Nein!
es liegt kein mouseover über den Bildern, sonst könntest du ja this verwenden.
<img onmousover="alert(this.src);" src="....">
<IMG src="Bildxy.jpg" >);
<IMG src="Bildyxz.jpg" >);
<a onmouseover ("show()");>
<script >
while(i <= 20) {
document.write ('<IMG src="Bild-'+ i + '.jpg" >);
i = i + 1;
}
</script>
</a>Ich möchte nun in show() feststellen, mit welchem Bild der Event ausgelöst wurde.
Dazu musst du in show alle Kindelement (s. mein vorheriges Posting) durchgehen und prüfen ob die Postion des Events mit der position des Elementes sich überschneiden.
Viel Spaß.
Irgendwo (document...) muß doch stehen wer den Event ausgelöst hat.
ja der Link wo onmouseover steht.
Struppi.