Detta script är kanske lite overkill, men jag satt och lekte med det och det fungerar lika bra på en meny (med länkar på en rad) och länkar i en flytande text. I lagret "linkmark" kan du givetvis lägga in något mer spännande än ett ">", och då bara justera getxpos(lobj)-8 och getxpos(lobj)-12 (8 och 12) så att det stämmer.
<div id="linkmark" style="position:absolute;visibility:hidden;color:red;">></div>
<script language="JavaScript" type="text/javascript">
function mark(lobj){
moveLayerAbs('linkmark',getxpos(lobj)-8,getxpos(lobj)-12);
showLayer('linkmark');
return true;
}
function getxpos(obj){
var ret=0;
if (document.getElementById || document.all){
while (obj.offsetParent) { ret += obj.offsetLeft; obj = obj.offsetParent; }
}
return (document.layers)?obj.x:ret;
}
function getypos(obj){
var ret=0;
if (document.getElementById || document.all){
while (obj.offsetParent) { ret += obj.offsetTop; obj = obj.offsetParent; }
}
return (document.layers)?obj.y:ret;
}
function moveLayerAbs(Id,x,y){
if (document.all){
if (x) document.all[Id].style.left = x;
if (y) document.all[Id].style.top = y;
} else if (document.layers){
if (x) document.layers[Id].left = x;
if (y) document.layers[Id].top = y;
} else if (document.getElementById){
if (x) document.getElementById(Id).style.left = x+'px';
if (y) document.getElementById(Id).style.top = y+'px';
}
}
function showLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "visible";
} else if (document.layers){
document.layers[Id].visibility = "show";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "visible";
}
}
</script>
För att kunna markera en länk lägger du in onClick="return mark(this);" i <a>-taggen. Detta är givetvis mest intressant tillsammans med ett target på länken så att sidan med länken ligger kvar och länken laddas i ett annat fönster/frame.