Mouse Over in Tabellen
TiDO
- javascript
Wie erstelle ich einfach einen Mouse Over Effekt in Tabellen.
Will eine Homepage für meine Schulklasse erstellen
Tabelle sieht so aus
Vorname | Name | Wohnort | Geburtstag
Max | Mustermann | Musterort | 00.00.0000
wenn ich dann mit der maus, auf max oder mustermann ... komme,
soll die ganze zeile in einer anderen Farbe markiert sein
Wer das kann, ist n Ass *g*
MFG TiDO
Max | Mustermann | Musterort | 00.00.0000
wenn ich dann mit der maus, auf max oder mustermann ... komme,
soll die ganze zeile in einer anderen Farbe markiert sein
onmouseover="this.parentNode.style.backgroundColor='red';"
onmouseout="this.parentNode.style.backgroundColor='transpatent';"
das beides in jede <td> rein.
gruss Kai
ok
thx
aber
wie bau ich da jetzt noch einen Link ein?
wenn ich jetzt auf Mustermann oder so klicke, soll sich ja auch eine neue site öffnen!
MFG TiDO
ok
thx
aber
wie bau ich da jetzt noch einen Link ein?
wenn ich jetzt auf Mustermann oder so klicke, soll sich ja auch eine neue site öffnen!
MFG TiDO
<a href="Link.html" onmouseover="this.parentNode.style.backgroundColor='red';"
onmouseout="this.parentNode.style.backgroundColor='transpatent';" target="_new">Link</a>
MfG
Thorsten
ok
thx
aber
wie bau ich da jetzt noch einen Link ein?
wenn ich jetzt auf Mustermann oder so klicke, soll sich ja auch eine neue site öffnen!
MFG TiDO
<a href="Link.html" onmouseover="this.parentNode.style.backgroundColor='red';"
onmouseout="this.parentNode.style.backgroundColor='transpatent';" target="_new">Link</a>
MfG
Thorsten
Wenn ich das austeste , habe ich leider eine Tabell, die bei verlassen der jeweiligen Zeile dies rot lässt und nicht mehr transparent wird...IE6
MFG
Reiner
Moin!
thx
aber
wie bau ich da jetzt noch einen Link ein?
wenn ich jetzt auf Mustermann oder so klicke, soll sich ja auch eine neue site öffnen!
Links gibts bei Blumen-Schmidt - oder bei Obi! ;)
Nee, mal im Ernst: Wie ein Link funktioniert, ist bekannt? Wie er eingebaut wird, auch? Dann mach's so, wie du es kennst.
- Sven Rautenberg
Hallo,
hier noch ein anderer Ansatz, der zwar nur im Internet Explorer funktioniert, aber dafür den Aufruf per mouseOver überflüssig macht:
<script event="onclick()" for="navi">
<!--
var oAnchor = this.all.tags('a');
if(oAnchor && oAnchor[0]) oAnchor[0].click();
// -->
</script>
<tr id="navi">
<td><a href="test.htm">Test</a></td>
</tr>
Das Skript kommt in den Head der Seite (bzw. wenn es auf mehreren Seiten gebraucht wird in eine externe Datei). In alle TRs kommt id="navi". Fertig.
Ich hab's noch nicht getestet, sollte aber funktionieren.
Grüße,
Sebastian
hi
hier noch ein anderer Ansatz, der zwar nur im Internet Explorer funktioniert, aber dafür den Aufruf per mouseOver überflüssig macht:
und weil es nur im IE funzt, streichen wir das ganze mal komplett aus dem Gedächnis. Und nochwas: es darf nur ein Element mit id="" geben, daher heißt das Ding eben auch ID und nicht class (Klasse).
gruss Kai
Hallo,
und weil es nur im IE funzt, streichen wir das ganze mal komplett aus dem Gedächnis.
Das steht Dir natürlich frei. Dogmen sind aber auch in diesem Falle wenig hilfreich ...
Der Browseranteil der Internet Explorers beträgt übrigens heute laut webhits (http://www.webhits.de/webhits/browser.htm) 83.2%.
Solche Zahlen lassen es als gerechtfertigt erscheinen, eine nicht zwingend erforderliche Funktion nur für den IE zu programmieren, sofern damit andere Vorteile (wie z.B. ein einfacherer Code) verbunden sind und das Ganze in anderen Browsern nicht zu Fehlermeldungen führt.
Und nochwas: es darf nur ein Element mit id="" geben, daher heißt das Ding eben auch ID und nicht class (Klasse).
Wo steht das? Sofern es nicht zu Konflikten durch das Ansprechen verschiedener Elemente mit gleicher ID kommt, sehe ich dafür keinen Grund. Siehe auch http://www.webreference.com/js/tips/000921.html
Grüße,
Sebastian
Moin!
Solche Zahlen lassen es als gerechtfertigt erscheinen, eine nicht zwingend erforderliche Funktion nur für den IE zu programmieren, sofern damit andere Vorteile (wie z.B. ein einfacherer Code) verbunden sind und das Ganze in anderen Browsern nicht zu Fehlermeldungen führt.
Wenn man die Wahl hat, entweder etwas nur für den IE zu programmieren, oder für alle Browser, die sich an Standards halten - warum dann die IE-only-Variante wählen?
Klar, es macht nicht unbedingt Sinn, ewig nach Lösungen für Netscape 4 zu fahnden (außer der Kunde will das), aber ohne Not nur für IE zu programmieren ist blöd.
Und nochwas: es darf nur ein Element mit id="" geben, daher heißt das Ding eben auch ID und nicht class (Klasse).
Wo steht das? Sofern es nicht zu Konflikten durch das Ansprechen verschiedener Elemente mit gleicher ID kommt, sehe ich dafür keinen Grund. Siehe auch http://www.webreference.com/js/tips/000921.html
Das steht in den W3C-Standards. Eine ID ist je Dokument nur einmal zu vergeben - sonst wäre es keine ID mehr, oder?
http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2
Und das Argument "Es geht doch - in meinem IE" ist ein sehr schwaches: Im IE geht vieles - auch falsches. Das ist also kein Maßstab.
- Sven Rautenberg
Hallo,
der Ton macht die Musik - und so wie Du es sagst, kann ich es akzeptieren und sogar unterschreiben.
Ich wollte mit meinem Beispiel ja auch nur eine Möglichkeit aufzeigen, wie man sich das Schreiben von onMouseOvers sparen kann, wenn die Seite eigentlich schon fertig ist und nur noch der Hilite-Effekt gewünscht wird.
Übrigens, es gibt auch Methoden, um die gesamte Zeile ohne onClick klickbar zu machen - allerdings wiederum IE only und das ist hier ja tabu ...
Grüße,
Sebastian