Avatar billede lemmings Nybegynder
12. maj 2003 - 09:40 Der er 3 kommentarer og
1 løsning

Menu virker ikke i NS

Min menu - som ellers er simpel nok - vil ikke fungere i Netscape. Der der nogle kloge hoveder der kan hjælpe?

I <HEAD> har jeg følgende:
<STYLE>
.popchr { FONT-SIZE: 10px; visibility: hidden;}
.gochr { FONT-SIZE: 10px; visibility: visible;}
</STYLE>

<SCRIPT language=javascript>
function showObject() {
document.all.div1.className = 'gochr';
}
function hideObject() {
document.all.div1.className = 'popchr';
}
</SCRIPT>

Og i <BODY> har jeg følgende:
<TR onmouseover=\"showObject()\" onmouseout=\"hideObject()\">
<TD>Menu Headline</TD>
<TD>
<DIV class=\"popchr\" id=\"div1\">Menu Item</DIV>
</TD>
</TR>

Når musen føres over Menu Headline vil Menu Item blive synlig, ellers skal den være skjult. Virker fint i IE men NS vil altså ikke lege med, og det er jeg træt af.

/Lemmings
Avatar billede hintzmann Nybegynder
12. maj 2003 - 14:58 #1
Det virker ikke fordi du benytter dig at IE's måde at tilgå elementer på.
Det du skal gøre er at benytte standardmåden som virker i nyere version af Opera, Netscape/Mozilla og Explorer.
document.getElementById("ELEMENTETS_ID")
Ex.
<style type="text/css">
.popchr { font-size: 10px; visibility: hidden;}
.gochr { font-size: 10px; visibility: visible;}
</style>
<script type="text/javascript">   
<!--
function showObject() {
document.getElementById("div1").className = 'gochr';
}
function hideObject() {
document.getElementById("div1").className = 'popchr';
}
//-->
</script>

<tr onmouseover="showObject()" onmouseout="hideObject()">
<td>Menu Headline</td>
<td>
<div class="popchr" id="div1">Menu Item</div>
</td>
</tr>
Avatar billede olebole Juniormester
12. maj 2003 - 15:08 #2
<ole>

Undlad at skifte klasse på elementer. Det er en meget dårligt performende metode. Skift i stedet properties på elementets style-object:

<script type="text/javascript">   
<!--
function showObject() {
document.getElementById("div1").style.visibility = "visible";
}
function hideObject() {
document.getElementById("div1").style.visibility = "hidden";
}
//-->
</script>

Det er langt, langt hurtigere - og mindre belastende for klienten.
/mvh
</bole>
Avatar billede lemmings Nybegynder
12. maj 2003 - 15:13 #3
Beklager OleBole, jeg nåede ikke at registrere dit svar inden jeg sendte alle pointene til hintzmann - dit svar var faktisk ganske fint.

/lemmings
Avatar billede olebole Juniormester
12. maj 2003 - 15:15 #4
Hehe ... pyt med det  ;o)
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