Avatar billede webcreator Nybegynder
27. marts 2005 - 14:56 Der er 11 kommentarer og
1 løsning

JavaScript / CSS menu er ikke IE kompatibel - men næsten

Hej Eksperter.

Jeg har siddet og rodet lidt med menuen fra dette spørgsmål :
http://eksperten.dk/spm/603655

Mit ønske var at lave en ordentlig menu til spørgeren, som ikke er baseret på tabels. Det er også næsten lykkedes - i hvertfald fungerer den rigtig fint i Firefox. Men der er nogle små-problemer i IE, som sikkert kan klares ganske nemt for jer CSS eksperter.

Menuen kan ses her : http://powerzone.dk/menu.html

I Internet Explorer fungerer 'display: block;' tydeligvis ikke på menu-linket Forside, Information etc. Det er kun linket der "lytter" på MouseOver eventet, hvilket gør det næsten umuligt at komme ned i den fremkomne drop-down-menu, da den forsvinder når musen tages væk fra linket.

Yderligere opstår der det besyndelige problem, at det sidste ord i det sidste menu-punkt i drop-down-menuerne gentages (se blot under Forside > Kontakt os - her står også "os" på den sidste linie).

Håber I kan hjælpe mig med problemet. Al nødvendig kode ligger i menu.html på serveren :)
Avatar billede webcreator Nybegynder
27. marts 2005 - 15:05 #1
Hvis jeg tilføjer 'float: left' til a.topmenu (er udkommenteret i html-filen), så virker 'display: block' - meget mærkeligt. Men problemet med teksten der bliver gentaget, eksisterer stadig.
Avatar billede roenving Novice
27. marts 2005 - 15:26 #2
-- og hvis man kigger på den kode IE faktisk renderer, findes det ekstra ord heller ikke ...
Avatar billede roenving Novice
27. marts 2005 - 15:26 #3
-- og den kode ser sådan ud:

<HEAD><TITLE>Menu v. 0.1.0</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>
body {
  font-family: Verdana, Arial;
  font-size: 11px;
  color: #000000;
}
div.topmenu {
  border: 1px solid #808080;
  width: 750px;
  height: 21px;\n  background-color: #5A6994;
}
a.topmenu {
  padding-top: 3px;
  padding-right: 10px;
  padding-bottom: 5px;
  padding-left: 5px;
  color: #FFFFFF;
  text-decoration: none;
  display: block;
  /*float: left;*/
}
a.topmenu:hover {
  background-color: #C36200;
}
div.submenu {
  width: 150px;
  position: absolute;
  z-index: 1;
  visibility: hidden;
  border: 1px solid #808080;
  background-color: #5A6994;
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=90);
  -moz-opacity: 0.90;
}
a.submenu {
  width: 135px;
  padding-top: 3px;
  padding-right: 10px;
  padding-bottom: 5px;
  padding-left: 5px;
  color: #FFFFFF;
  text-decoration: none;
  display: block;
  float: left;
}
a.submenu:hover {
  width: 135px;
  background-color: #C36200;
}
div.positionbox {
  float: left;
}
</STYLE>
</HEAD>
<BODY>
<SCRIPT type=text/javascript>
function showmenu(elmnt, obj) {
  document.getElementById(elmnt).style.visibility="visible";
}
function hidemenu(elmnt) {
  document.getElementById(elmnt).style.visibility="hidden";
}
</SCRIPT>
<DIV class=topmenu>
<DIV class=positionbox>
  <A class=topmenu onmouseover="showmenu('forside', this)" onclick=Pos(this) onmouseout="hidemenu('forside')" href="#">Forside</A>
  <DIV class=submenu id=forside onmouseover="showmenu('forside')" onmouseout="hidemenu('forside')">
    <A class=submenu href="#">Forsiden</A>
    <A class=submenu href="#">Andet..</A>
    <A class=submenu href="#">Kontakt</A>
  </DIV>
</DIV>
<DIV class=positionbox>
  <A class=topmenu onmouseover="showmenu('info', this)" onmouseout="hidemenu('info')" href="#">Information</A>
  <DIV class=submenu id=info onmouseover="showmenu('info')" onmouseout="hidemenu('info')">
    <A class=submenu href="#">Generelt</A>
    <A class=submenu href="#">Konkurrencer</A>
    <A class=submenu href="#">Præmier</A>
    <A class=submenu href="#">Rutebeskrivelse</A>
    <A class=submenu href="#">Kontakt os</A>
  </DIV>
</DIV>
<DIV class=positionbox>
  <A class=topmenu href="#">Tilmeld</A>
</DIV>
<DIV class=positionbox>
  <A class=topmenu href="#">Deltagere</A>
</DIV>
</DIV>
Dette er en test, Dette er en test, Dette er en test, Dette er en test,<BR>Dette er en test, Dette er en test, Dette er en test, Dette er en test,<BR>Dette er en test, Dette er en test, Dette er en test, Dette er en test,<BR>Dette er en test, Dette er en test, Dette er en test, Dette er en test,<BR>Dette er en test, Dette er en test, Dette er en test, Dette er en test..
</BODY>
Avatar billede roenving Novice
27. marts 2005 - 15:27 #4
Et enkelt \n er ikke luget ud efter mit forsøg på at genindsætte linjeskift ...
Avatar billede webcreator Nybegynder
27. marts 2005 - 15:33 #5
Meget underligt - indsætter man ovenstående kode, så er den sidste stump tekst i hvertfald væk. Der er dog stadig et problem med 'display: block'
Avatar billede webcreator Nybegynder
27. marts 2005 - 15:33 #6
Det må skyldes at der mangler en doctype eller sådan noget.
Avatar billede webcreator Nybegynder
27. marts 2005 - 15:34 #7
Yeps - har lige testet. Det er netop pga. den manglende doctype
Avatar billede roenving Novice
27. marts 2005 - 15:35 #8
Sikkert, for jeg har kun medtaget den kode, som html-elementet indeholder !-)
Avatar billede webcreator Nybegynder
27. marts 2005 - 15:39 #9
Ok. Må bare håbe at en eller anden fået et genialt indfald - for jeg er helt lost her. Det er lidt for underligt.
Avatar billede webcreator Nybegynder
27. marts 2005 - 16:03 #10
Nå, så langt så godt. Jeg kan fjerne den underlige tekst i bunden af drop-down-menuerne, ved at sætte et <br> efter det sidste menu-punkt.
Så mangler jeg blot at mine links bliver til blocks igen.
Avatar billede webcreator Nybegynder
27. marts 2005 - 20:04 #11
Problem løst. Den færdige løsning vil kunne findes her senere i dag :
http://eksperten.dk/spm/603655
Avatar billede webcreator Nybegynder
28. marts 2005 - 02:55 #12
.
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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging