a:hover bei NS
Markus
- dhtml
0 speedy
Hallo!
Ich habe in meinen Seiten ein Script, welches den a:hover-Effekt für NN erledigt. Dabei werden die Links
beim Überfahren unterstrichen. Hier das Script:
var oldLoad = null;
var obj = null;
var tmpLayer = null;
if (self.onload)
oldLoad = self.onload;
self.onload = HoverInit;
function HoverInit()
{
if (oldLoad) oldLoad();
if (document.layers) {
tmpLayer = new Layer(1);
tmpLayer.bgColor = document.bgColor;
document.captureEvents(Event.MOUSEOVER);
document.onmouseover = Hover;
}
}
function Hover(evt)
{
document.routeEvent(evt);
if (tmpLayer && tmpLayer.visibility == 'hide' && evt.target.text) {
obj = evt.target;
tmpLayer.left = obj.x;
tmpLayer.top = obj.y;
tmpLayer.width = 1;
with (tmpLayer.document) {
open();
write('<nobr><a href="'+obj.href+'" class="hover"' + (obj.target ? ' target="' + obj.target + '"' : '') + '>'+obj.text+'</a></nobr>');
close();
}
tmpLayer.visibility = 'show';
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = Hoveroff;
}
}
function Hoveroff(evt)
{
if (tmpLayer && evt.target != tmpLayer.document.links[0] && evt.target != obj) {
tmpLayer.visibility = 'hide';
document.releaseEvents(Event.MOUSEMOVE);
}
}
Dieses script wird nach <body> mit
<script language="JavaScript" type="text/javascript" src="javascripts/onmouseover.js">
</script> aufgerufen.
In meiner externen css-Datei steht: a.hover { color:000000; text-decoration:underline }
Das Script funktioniert auch, das Problem aber ist, dass ich Links mit verschiedenen Schriftgrössen
verwende (8 und 12 pt).
z.Bsp: <p class="kleiner"><a href="xxx">xxx</a></p> und
<p><a href="yyy">yyy</a></p>
Wenn ich nun mit der Maus über einen Link fahre, der 8pt gross ist, wird er mit 12pt und unterstrichen
angezeigt. Ich habe bereits versucht irgendwie die Schiftgrösse des Links auszulesen und dann
auf a.hover8 und a.hover12 in der css-Datei zu verweisen, hatte jedoch keinen Erfolg. Kann mir vielleicht
jemand weiterhelfen?
Danke im voraus, Markus
Hi,
leider kann ich Dir auch nicht weiterhelfen, aber ich denke einfach, daß das den ganzen Aufwand doch gar nicht wert ist, oder?
Am besten sollte man Links (abgesehen von der Farbe) sowieso unterstrichen lassen, damit sie der Leser sofort erkennen kann (was machst Du z.B. wenn Du mit einem Handheld surfst - hast Du da schon mal einen nicht unterstrichenen Link auf Anhieb erkannt?).
Grüsse
speedy