Felix Riesterer: mouseover+bildauswahl

Beitrag lesen

Lieber Petrosch,

wenn in Deinen Datensätzen ein Logo eingetragen ist, dann wird das angezeigt. Wenn keines eingetragen ist (auch kein "Dummy"), dann wird das Dummy-Logo angezeigt. Dazu reicht ein Dummy-Logo für alle.

<td class="ergebniszeile"><a onmouseover="Tip('<img src=&quot;logo/<%$adr_id%>_1.jpg&quot;>', TEXTALIGN, 'center')" onmouseout="UnTip()" href="detail.php?a_id=<%$adr.a_id%>"><%$adressen.a_name%></a></td>

Ich finde den onmouseover und Konsorten nicht gut. Was soll das Attribut im HTML-Code, wenn User ohne verfügbares JavaScript daherkommen? Eine bessere Methode wäre es, dem <a>-Element eine Klasse zuzuweisen, die dann später von einem JavaScript erkannt und verarbeitet wird. In der ID des <a>-Elements könnte man dann den Dateinamen (ohne Endung?) eintragen, oder auch in Deinem Falle die ID als Dateinamen direkt verstehen.

<!-- mit echtem Logo -->  
<td class="ergebniszeile"><a class="logo-link" id="ax_9418b_keine_ahnung_97" href="detail.php?a_id=<%$adr.a_id%>"><%$adressen.a_name%></a></td>  
<!-- mit Dummy -->  
<td class="ergebniszeile"><a class="logo-link" id="dummy" href="detail.php?a_id=<%$adr.a_id%>"><%$adressen.a_name%></a></td>

Ein JavaScript, das nach dem Laden der Seite automatisch ausgeführt wird, holt sich dann alle <a>-Elemente dieser Klasse ("logo-link") und verleiht ihnen die benötigten Eventhandler dynamisch. Dabei wird als Logo-Dateiname einfach an die $adr_id ein ".jpg" gehängt - und als "dummy.jpg" hast Du dann Dein Ersatzbild.

Wie das mit dem JavaScript geht, kannst Du hier genauer betrachten:
* Autostart eines JavaScriptes
* Elemente mit einer bestimmten Klasse ansprechen: getElementsByClassName
* http://de.selfhtml.org/javascript/sprache/eventhandler.htm@title=Eventhandler

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)