webForumDet fria alternativet

Stänga menyer

7 svar · 239 visningar · startad av Skarre

SkarreMedlem sedan apr. 20012 427 inlägg
#1

Om ni testar den här menyn så ser ni att undermenyerna inte göms när man klickar utanför dem, och jag undrar förstås hur jag åstadkommer detta. De behöver inte gömmas automatiskt efter en viss tid utan bara när man klickar utanför dem. Jag har testat att lägga onFocus="hideAlts()" i body-taggen men det vill inte fungera (hideAlts() är funktionen som gömmer alla undermenyer).

Tack på förhand, och ursäkta allt tjat om min DHTML-meny i det här foumet de senaste dagarna! :)

DarrenMedlem sedan dec. 2002789 inlägg
#2

Vet ej säkert att det kommer att fungera men du kan ju alltid testa...

<div id="altdiv1" class="menuAlts" onMouseOut="hideAlts()">
  <table border="0" cellpadding="3">
	<tr> 
	  <td><a href="javascript:;" onClick="hideAlts()">Progressive metal</a></td>
	</tr>
	<tr> 
	  <td><a href="javascript:;" onClick="hideAlts()">Death metal</a></td>
	</tr>
	<tr> 
	  <td><a href="javascript:;" onClick="hideAlts()">Heavy metal</a></td>
	</tr>
  </table>
  <img src="refimg.gif" id="refImg1" width="1" height="1">
</div>

Det är onMouseOut i div taggen jag syftar på...

SkarreMedlem sedan apr. 20012 427 inlägg
#3

Jag testade det förut, men resultatet blir... ja, pröva den första menyn (musik) så får ni se. :)

DarrenMedlem sedan dec. 2002789 inlägg
#4

Vill du fuska...? :)

Släng då in denna raden till din kod.... Skriv den direkt under <body> taggen...

<body...>
<div id="hideAlts" style="position:absolute; left:0; top:80px; width:100%; height:100%; z-index:0" onMouseOver="hideAlts()"></div>
<!-- resten av din kod här under -->

Vet du förresten om att din sida inte fungerar i Mozilla?

SkarreMedlem sedan apr. 20012 427 inlägg
#5

Nej, det där skulle min webbdesignlärare genomskåda direkt. Angående kompatibiliteten så behöver den bara fungera i IE 5+.

DarrenMedlem sedan dec. 2002789 inlägg
#6

Vart fick du javascript koden ifrån...? Eller gjorde du den själv?

SkarreMedlem sedan apr. 20012 427 inlägg
#7

Jag är total nybörjare vad gäller DHTML och detta är en skoluppgift så det är klart att jag skrivit koden själv. Det borde om inte annat synas på den amatörmässiga koden. :)

DarrenMedlem sedan dec. 2002789 inlägg
#8

Lägg detta till var och en av dina div taggar:

onMouseOut="divID='altdiv1';startTimer(divID)"

OBS!!! Glöm inte att ändra divID='???' så att den passar till respektive div taggens id (altdiv1, altdiv2 osv)...

Lägg detta til din meny.js fil. Denna funktionen gömmer menyn efter 2,5 sekunder (2500 i koden nedanför) efter att man har fått en onMouseOut event.

function startTimer(divID){
	timer = setTimeout('document.all["'+divID+'"].style.visibility = "hidden"',2500);
}

Har testat detta i Internet Explorer 6 (service pck 1).

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)