PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : frage zu mouseocer link...


Cord Worthmann
25.04.2002, 14:10
moin,

wie muss ich wohl das js dieser Testseite (http://www10.brinkster.com/gletscher/test/default.asp) verändern, damit sich die farbe der links bei mouseover verändert?
der effekt soll aber nicht wie jetzt per hover in kraft treten sondern, wie schon gesagt, ebenfalls durch das mouseover-ereignis beim überfahren der celle ausgelöst werden.

so sieht es nämlich komisch aus, weil sich der link ja erst dann verändert, wenn er auch berührt wird.

habe ich mich verständlich ausgedrückt?


über tips und anregungen würde ich mich sehr freuen

grüsse
cb


Jack
25.04.2002, 14:36
Mhm, müßte über DOM gehen, aber ob das so optimal ist, kann ich dir nicht sagen, ich denke, ältere Browser dürften damit noch so ihre Pobleme haben ;)

Vielleicht als Alternative:
verlinke das ganze <td></td> nochmal und ändere die Hintergrundfarbe des td bei onMouseOver. Sieht auch gut aus. Lass aber alternativ noch den Link auf den Text mit drin, für den Fall, daß ein Browser mit der Verlinkung einer ganzen Zelle probleme hat.

Cord Worthmann
25.04.2002, 20:04
danke für den hinweis - werde das mal ausprobieren!



grtz
cb

maulwurf
25.04.2002, 20:27
hiho

ansonsten mach n bild draus und tausch das aus.
das funzt ja auf jeden fall

cya

Cord Worthmann
26.04.2002, 15:54
ne, bilder sind nicht so praktisch, da ich auf diese weise auch dynamische links aus der db highlighten möchte (und deren zahl ist legion... *g*)
so müsste ich für jeden link zwei bilder herstellen.

das mit dem verlinken der ganzen zelle klappt prima - nur, ist wem ein browser bekannt, der solch eine darstellung nicht anzeigen kann...?


<a href=einewebseite.asp>
<td>titel</td>
</a>


grtz

Felix Kaiser
26.04.2002, 20:44
NetScape 4.x :)

Weil der hat eh kein Hoverkram drin und MUSS leider teilweise auch noch benutzt werden (siehe entsprechender Thread im Off Topic) :mauer:

Cord Worthmann
26.04.2002, 22:59
ho!
das ist aber ärgerlich!

der ist doch im grunde auch noch ziemlich verbreitet - ich allein kenne ein halbes dutzend leute, die ihn zumindest regelmässig benutzen...

grtz

Felix Kaiser
27.04.2002, 12:27
Gell? Und das ärgerlichste daran ist, dass diese Leute entweder nicht upgraden dürfen oder zu stupide sind es zu wollen. :mauer:

sami
27.04.2002, 17:35
also ns 4.x kann aber auch den farbwechsel der zelle ned, dann ist das ja ned so schlimm.
zurück zum eigentlichen problem: du musst halt die links eindeutig benennen (id= oder name=) dann aknnst sie übers DOM ansprechen.

Felix Kaiser
28.04.2002, 01:39
Was man sich allerdings erspart in dem man jedem Link / jeder Zelle einen onMouseover, Out Event zuweist, der auf das Objekt this zugreift, da this entsprechend immer auf das jeweilig am Event unmittelbar beteiligte Objekt zeigt. Hab da ne feine 2-Zeilenlösung, die unter NN6 und IE4+ wunderbar funktioniert. Opera nicht, weil Opera weder DHTML noch DOM supported :mauer: Aber dafür Hover bei Links im CSS. :rolleyes:

sami
28.04.2002, 02:06
öhm guru, das kann doch hier ned funzen.
weil er will ja den link ändern beim mouseover von der zelle, da kannst nix mit this ansprechen. das mitm this für die zelle funzt ja schon.

Felix Kaiser
28.04.2002, 02:19
Glaube schon. DOM beinhaltet doch eine Art Enumerator funktionen. Über this sollte doch eigentlich auch das Node Objekt der Zelle bestimmbar sein, oder zumindest das des Childobjektes, also das des Links. Dann könnte man direkt konformer Dings den Inhalt ändern.

Beispiel:

<td width=&quot;200&quot; onMouseOver=&quot;MouseOver(this);&quot; onMouseOut=&quot;MouseOut(this);&quot;><a href=&quot;http://localhost/imail.php&quot;>imail</a></td>
<td width=&quot;200&quot; onMouseOver=&quot;MouseOver(this);&quot; onMouseOut=&quot;MouseOut(this);&quot;><a href=&quot;http://localhost/hp/&quot;>homepage</a></td>


Das wären unsere Zellen, mit MouseOut und MouseOver. In denen ist NUR ein Link drin.

Im Beispiel ändere ich beim Überfahren den Text des Links und setze ihn automatisch zurück, beim Verlassen des Elements. Hier der JavaScript Code:


<script type=&quot;text/javascript&quot;><!--
function MouseOver(obj)
{ obj.style.backgroundColor = &quot;#FFFFE1&quot;;
obj.childNodes[0].saved = obj.childNodes[0].firstChild.nodeValue;
obj.childNodes[0].firstChild.nodeValue = &quot;click&quot;; }
function MouseOut(obj)
{ obj.style.backgroundColor = &quot;#D4D0C8&quot;;
obj.childNodes[0].firstChild.nodeValue = obj.childNodes[0].saved; }
//--></script>

sami
28.04.2002, 02:35
afair kommt NN6 damit ned klar, hast es da getestet?

Felix Kaiser
28.04.2002, 02:39
Jop, geht bestens. Nur auf IE4 muss man verzichten, der kann kein DOM 2.0.

Was er nun nimmt, da muss sich Chief Brodie entscheiden. :)

Cord Worthmann
01.05.2002, 04:19
vielen dank für euren support!

onMouseOver, onMouseOut & onClick funzt bestens!

hehe ... und wer den IE 4 noch benutzt, ist halt selber schuld... *g*


grüsse
cb