Avatar billede liza Nybegynder
16. juni 2001 - 19:05 Der er 10 kommentarer og
1 løsning

hvad er der galt her?

jeg har denne dropdown menu, men det virker ikke helt som det skal.
onmouseover virker ok, men menuen forsvinder når jeg flytter musen, inden jeg kommer ned på selve menuen.
håber der er nogen der kan hjælpe!!

<HEAD>
<script language=\"JavaScript1.2\">

var menu1=new Array()
menu1[0]=\'<a href=http://>Oversigt</a><br>\'
menu1[1]=\'<a href=http://>Oversigt1</a><br>\'
menu1[2]=\'<a href=http://>Oversigt2</a><br>\'
menu1[3]=\'<a href=http://>Oversigt3</a><br>\'
</script>

<style>
<!--
.iewrap1{
position:relative;
height:30px;
}
.iewrap2{
position:relative;
}
#dropmenu0{
visibility:hide;
z-index:100;
}
-->
</style>
</HEAD>

<BODY><table>
<script language=\"JavaScript1.2\">

var zindex=100
function dropit2(whichone){
if (window.themenu&&themenu.id!=whichone.id)
themenu.style.visibility=\"hidden\"
themenu=whichone
if (document.all){
themenu.style.left=document.body.scrollLeft+event.clientX-event.offsetX
themenu.style.top=document.body.scrollTop+event.clientY-event.offsetY+18
if (themenu.style.visibility==\"hidden\"){
themenu.style.visibility=\"visible\"
themenu.style.zIndex=zindex++
}
else{
hidemenu()
}
}
}

function dropit(e,whichone){
if (window.themenu&&themenu.id!=eval(whichone).id)
themenu.visibility=\"hide\"
themenu=eval(whichone)
if (themenu.visibility==\"hide\")
themenu.visibility=\"show\"
else
themenu.visibility=\"hide\"
themenu.zIndex++
themenu.left=e.pageX-e.layerX
themenu.top=e.pageY-e.layerY+19
return false
}

function hidemenu(whichone){
if (window.themenu)
themenu.style.visibility=\"hidden\"
}

function hidemenu2(){
themenu.visibility=\"hide\"
}

if (document.all)
document.body.onmouseout=hidemenu

</script>     
     
 
<td width=\"250\" align=\"left\" valign=\"top\">
<ilayer height=35px>
<layer visibility=show>
<span class=iewrap1>
<span class=iewrap2 onmouseover=\"dropit2(dropmenu0);event.cancelBubble=true;return false\"><font face=Verdana><b><a href=\"http://localhost/#\" onmouseover=\"if(document.layers) return dropit(event, \'document.dropmenu0\')\"><font color=\"#FFFF00\">Forum</a></b></font>
</span>
</span>
</layer>
</ilayer>

</td></table>

<div id=dropmenu0 style=\"position:absolute;left:0;top:0;layer-background-color:CCCCFF;background-color:CCCCFF;width:120;visibility:hidden;border:3px solid black;padding:0px\">
<script language=\"JavaScript1.2\">
if (document.all)
dropmenu0.style.padding=\"4px\"
for (i=0;i<menu1.length;i++)
document.write(menu1[i])
</script>
</div>
<script language=\"JavaScript1.2\">
if (document.layers){
document.dropmenu0.captureEvents(Event.onmouseover)
document.dropmenu0.onmouseout=hidemenu2
}
</script>

</BODY>
</HTML>

Avatar billede tracker Nybegynder
16. juni 2001 - 19:45 #1
Hvorfor har du øverst oppe afkoblet 10 linier:

<style>
<!--
.iewrap1{
position:relative;
height:30px;
}
.iewrap2{
position:relative;
}
#dropmenu0{
visibility:hide;
z-index:100;
}
-->

Skal du ik bruge den til noget?
Avatar billede liza Nybegynder
16. juni 2001 - 19:47 #2
kan du uddybe lidt?

liza
Avatar billede tracker Nybegynder
16. juni 2001 - 19:52 #3
Ja, jeg har lige skrevet koden!
er måske galt på den, men det er muligvis fordi du har sat den del af koden til ikke at køre!

Du har skrevet midlertidig disconnect:

<!--  --> 
Avatar billede liza Nybegynder
16. juni 2001 - 19:52 #4
hvis det er sådan du mener hjælper det ikke noget
<style>

.iewrap1{
position:relative;
height:30px;
}
.iewrap2{
position:relative;
}
#dropmenu0{
visibility:hide;
z-index:100;
}

liza
Avatar billede tracker Nybegynder
16. juni 2001 - 19:53 #5
Nåh ok.. Men skal du bruge den, så skal du ihvertfald aktivere den, ved at fjerne ovenstående!
Avatar billede warpgiga Nybegynder
18. juni 2001 - 02:23 #6
du skal nok have fat i setTimeout, for a lave et lille delay så musen kan nå ned på det andet lag m.m... kan være lidt tricky at få på plads men du kan jo evt. kigger efter et eller andet sted.. ;)
Avatar billede liza Nybegynder
18. juni 2001 - 21:16 #7
kan du sige mig hvor jeg måske kan finde noget om det?
jeg har prøvet alt muligt.
kan du se hvor settimeout skal sættes ind?

liza
Avatar billede jakoba Nybegynder
19. juni 2001 - 07:33 #8
Det skulle være i funktionen hidemenu. assisteret af en global variabel outHandler.

var outHandler = 0;
function hidemenu(whichone){
  if (window.themenu)
      outHandler= setTimeout( \'themenu.style.visibility=\"hidden\";\', 100 )
}

men der burede være en onMouseover effekt et sted på det layer hvor man samtidig kunne sige
  clearTimeOut( outHandler );
for at afbryde den forsikede hide hvis den ikke skal være der.

og variablen  themenu  burde være defineret et sted.
Det ser lidt ud som om du kun har fået kopieret halvdelen af det script du ønsker.
Hvor har du det fra?

mvh JakobA
Avatar billede liza Nybegynder
19. juni 2001 - 12:57 #9
jeg har hentet den her http://javascript.internet.com et eller andet sted, men det er et stykke tid siden. ved du måske hvor jeg kan finde noget der virker?
jeg er jo ikke ligefrem en haj til dette her!!

liza
Avatar billede liza Nybegynder
19. juni 2001 - 13:11 #10
eller kan du måske hjælpe lidt lidt mere, jeg kunne nok lære noget ved at få dette her til at virke. så er de 100 dine.

liza
Avatar billede liza Nybegynder
19. juni 2001 - 13:34 #11
okay jeg finder ud af noget

liza
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester