Hej, jag har en meny som består av vanliga html-länkar. Jag skulla vilja att den länk som är "aktiv" visas med tex. en liten bild framför eller i annan färg. Alltså så att man vet vilken sida man är inne på. Några förslag?
Markering av vald länk
3 svar · 185 visningar · startad av FredrikT
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.
------------------
/ J
Jag får inte det att funka som det ska, oavsett vilken länk jag klickar på så ligger > kvar på samma ställe
Ok, jag har läst en del om offsetParent och tydligen så är den funktionen lite buggig i olika webbläsare. Men gäller detta bara en meny kanske något av dessa exempel kan vara intressant (meny med bildväxling).
------------------
/ J