WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [HTML] onmouseout in td-tags? (http://www.wcm.at/forum/showthread.php?t=98544)

moorhahn 31.05.2003 07:31

[HTML] onmouseout in td-tags?
 
folgende seite:
Testseite

wenn die maus über einem menüelement ist, sollte sich die jeweilige zelle verfärben, macht sie auch. beim verlassen der zelle sollte sie sich aber auch wieder zurückfärben, macht sie im IE5, aber im IE6 nicht mehr. habs in anderen browsern noch nicht ausprobiert.

kanns sein, das M$ beim IE6 das eventhandling teilweise dem netscape-standard angepasst? laut diesem dürfte man onmouseout nur in area- und a-tags verwenden. teilweise deswegen, weil onmouseover funktioniert, aber auch nur in area- und a-tags erlaubt wäre.

Pioneer 31.05.2003 07:33

In Opera färbt es sich auch nicht zurück.

moorhahn 31.05.2003 11:20

hab gerade probiert, den inhalt der javascript-funktion, die die zelle zurückfärbt, direkt ins onmouseout="" reinzuschreiben, da funktionierts. komisch.

renew 31.05.2003 11:40

Zitat:

Original geschrieben von moorhahn
hab gerade probiert, den inhalt der javascript-funktion, die die zelle zurückfärbt, direkt ins onmouseout="" reinzuschreiben, da funktionierts. komisch.
naja, des is a hund mit der Reference auf das Objekt.
Hab mich auch schon mal damit gespielt - und habs dann eigenltich immer folgendermaßen gelöst:

Code:

function mouseover2(nr)
{
        document.getElementsByTagName("td")[nr].bgColor = "#97F4A3";//#AEFFBB
}

function mouseout2(nr)
{
        document.getElementsByTagName("td")[nr].bgColor = "#CCFFCC";
}

Und dann hab ich im jeweiligen onmouseover/onmouseout im td-Tag die nr übergeben - was nicht sonderlich schwer war, da ich das ganze meist mit ASP generiert hab - und dort rennt einfach ein zähler der die aktuelle Nummer des td-Tags einträgt.
Sprich, das 1. td hat die Nr. 0 das 2. die Nr. 1 usw...

Ist zwar nicht so elegant wie mit "this", aber bis jetzt hats immer funktioniert. :)

moorhahn 31.05.2003 11:55

aber warum funktionierts im ie5 und im ie6 nicht mehr? ein bug?

mcs_ 31.05.2003 12:00

backgroundcolor im stylesheet festlegen, dann:

onMouseOver="this.style.backgroundColor='#000000'"

und:

onMouseOut="this.style.backgroundColor='#ffffff'"


hoffe, das funkt. :)

renew 31.05.2003 12:11

Zitat:

Original geschrieben von moorhahn
aber warum funktionierts im ie5 und im ie6 nicht mehr? ein bug?
des is gute Frage...

Aber wie schon gehört, in Opera funkts nicht und bei mir im Mozilla auch nicht.
Das heißt es funkt eigentlich nur im IE5. ;)

mcs_ 31.05.2003 12:15

im stylesheet natürlich für die td die backgroundcolour festlegen nicht vergessen.

und die code pieces direkt in den td tag einfügen.

snowman 31.05.2003 20:06

das kann man mit reinem css machen, braucht man kein javascript dafür.

gruss,
snowman

renew 31.05.2003 21:09

Zitat:

Original geschrieben von snowman
das kann man mit reinem css machen, braucht man kein javascript dafür.

gruss,
snowman

wie?

Da gibts doch keine "Subklassen", wie beim Anchor-Tag - oder doch?

moorhahn 31.05.2003 23:42

@fluffster: ja so gehts, aber warum funktionierts nicht mit dem aufruf der zwei funktionen chnage(this) und normalize(this)? wenn mans in jedem tage einzeln einfügt, und man will dann mal was dran ändern, müssen alle tags geändert werden.

mcs_ 01.06.2003 10:21

weiß ich leider nicht, ich kenn mich in javascript leider nicht gut genug aus, für sowas.

aber die reine css-variante würde mich auch interessieren.

Phlow 01.06.2003 10:46

@reine css variante:

http://selfhtml.teamone.de/css/eigen...r_active_focus

da kannst du natürlich auch mit hintergrundfarben und balken arbeiten.

zb so:

http://selfaktuell.teamone.de/artike.../beispiel3.htm
oder so
http://selfaktuell.teamone.de/artike.../beispiel4.htm

oder so ;)
http://selfaktuell.teamone.de/artike.../beispiel6.htm

und wie das geht steht hier:
http://selfaktuell.teamone.de/artikel/css/mouseover/

btw: ich würde dir die css variante schwer empfehlen ...
lg Phlow

renew 01.06.2003 11:13

Alles klar... :)

Man macht sich den Effekt des Kastels mit CSS, und kann natürlich dann auch mit den Subklassen des A-Tags diese ändern.

Is net schlecht - manchmal kann mans aber nicht so machen, weil man unbedingt eine Tabelle braucht.
Aber auf alle Fälle gut zu wissen. ;)

snowman 01.06.2003 13:13

man braucht nicht unbedingt eine tabelle für das reine css-ding.
mit DISPLAY:block wird die ganze breite des jeweiligen elements zb DIV mit der hintergrundfarbe ausgefüllt.

gruss,
snowman

moorhahn 02.06.2003 12:50

hab noch nie was mit subklassen in css gemacht. sieht aber gut aus.
css-variante ist sowieso zu preferieren, da ja auch w3, oder wie die heißen, css über so ziemlich alle anderen formatierungsvarianten stellen (den font-tag haben die wahrscheinlich schon verflucht und verbannt).
danke auf jedenfall für die lösung :) .


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag