webForumDet fria alternativet

Lager & Hidden

JavaScript

3 svar · 216 visningar · startad av nordan

Medlem sedan juni 2000949 inlägg
Frågan#1

Om man har en länk som gör så att när man klickar på den så visas ett lager.
I detta lager finns massa länkar.
Hur gör man så att detta lager ligger kvar när man går över det men när man tex klicka i sida skall det försvinna.
Eller ännu bättre när man dra bort musen en bit från lagret så skall det släckas.
Det funkar i netscape så att när man klickar någonstas på sidan så släcks lagret men inte i IE.
Gå det att få till så att det släcks i båda med samma funktion?

------------------
/nordan

Medlem sedan juni 20004 308 inlägg
#2
<script language="JavaScript">
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";
	}
}
function hideLayer(Id){
	if (document.all) {
		document.all[Id].style.visibility = "hidden";
	} else if (document.layers){
		document.layers[Id].visibility = "hide";
	} else if (document.getElementById){
		document.getElementById(Id).style.visibility = "hidden";
	}
}
</script>
<div id="MyLayer" style="position:absolute;top:300px;left:100px;visibility:hidden;">
<a href="http://www.yahoo.com" target="_blank" onClick="hideLayer('MyLayer'); return true;">Yahoo</a><br>
<a href="http://www.evreka.com" target="_blank" onClick="hideLayer('MyLayer'); return true;">Evreka</a>
</div>
<a href="#" onClick="showLayer('MyLayer'); return false;">Visa lagret</a>

------------------
/ J

Medlem sedan juni 2000949 inlägg
#3

Nja det var inte riktigt så jag mena.
Så här då.
Om man tar ditt exempel och flyttar upp lagret lite så här

<script language="JavaScript">
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";
}
}
function hideLayer(Id){
if (document.all) {
document.all[Id].style.visibility = "hidden";
} else if (document.layers){
document.layers[Id].visibility = "hide";
} else if (document.getElementById){
document.getElementById(Id).style.visibility = "hidden";
}
}
</script>
<div id="MyLayer" style="position:absolute;top:35px;left:15px;visibility:hidden;">
<a href="http://www.yahoo.com" target="_blank" onClick="hideLayer('MyLayer'); return true;">Yahoo</a><br>
<a href="http://www.evreka.com" target="_blank" onClick="hideLayer('MyLayer'); return true;">Evreka</a>
</div>
<a href="#" onClick="showLayer('MyLayer'); return false;">Visa lagret</a>

När jag då klickar på länken visas lagret. Det jag vill då är att det skall gå att gå över lagret och klicka på länkarna men när jag för muspekaren från lagret så skall det släckas :)
Typ onmouseout eller nått??
Någon som hänger med på vad jag menar då?

------------------
/nordan

Medlem sedan juli 2000836 inlägg
#4

Prova detta:

<html>
<head>
<script language="JavaScript" type="text/javascript">
var act=0
function rakna(Id){lager=Id; setTimeout("close(lager)",1500)}
function close(Id){lager=Id; if(act==0){hideLayer(lager);}}

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";}
}

function hideLayer(Id){
if (document.all){document.all[Id].style.visibility = "hidden";}
else if (document.layers){document.layers[Id].visibility = "hide";}
else if (document.getElementById){document.getElementById(Id).style.visibility = "hidden";}
}

</script>
</head>
<body>

<a href="#" onMouseover="showLayer('MyLayer');" onMouseOut="rakna('MyLayer');">Visa lagret</a>

<div id="MyLayer" style="position:absolute;visibility:hidden;left:100px;top:100px;" onMouseOver="showLayer('MyLayer');act=1;" onMouseOut="hideLayer('MyLayer');act=0;">
<layer onMouseOver="showLayer('MyLayer');act=1;" onMouseOut="hideLayer('MyLayer');act=0;">
<a href="http://www.yahoo.com" target="_blank" onClick="hideLayer('MyLayer'); return true;">Yahoo</a><br>
<a href="http://www.evreka.com" target="_blank" onClick="hideLayer('MyLayer'); return true;">Evreka</a>
</layer>
</div>
 
</body>
</html>

------------------
- J-O-H-N-S-E-N -
------------------

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)