Avatar billede mora Nybegynder
10. juli 2000 - 20:17 Der er 18 kommentarer og
2 løsninger

NS Layers

Dette script er en del af en menu, den virker helt fint i IE, men i NS sker der intet, er der nogle der kan hjælpe?

<script>
if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0) {
var typen="div";
var slut="</div>";
}else{
var typen="layer";
var slut="</layer>";
}

function visundermenu1(){
parent.main0.fjernalt();
if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0) {
parent.main0.document.all.undermenu1.style.visibility="visible";
}else{
parent.main0.document.undermenu1.visibility="show";
}
}
function visundermenu2(){
parent.main0.fjernalt();
if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0) {
parent.main0.document.all.undermenu2.style.visibility="visible";
}else{
parent.main0.document.undermenu2.visibility="show";
}
}
function visundermenu3(){
parent.main0.fjernalt();
if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0) {
parent.main0.document.all.undermenu3.style.visibility="visible";
}else{
parent.main0.document.undermenu3.visibility="show";
}
}
function visundermenu4(){
parent.main0.fjernalt();
if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0) {
parent.main0.document.all.undermenu4.style.visibility="visible";
}else{
parent.main0.document.undermenu4.visibility="show";
}
}

</script>
<style>
#menu1{position:absolute;top:10px;left:10px;font-family:Verdana;font-size:10pt;font-weight:bold;text-decoration:none}
#menu2{position:absolute;top:10px;left:160px;font-family:Verdana;font-size:10pt;font-weight:bold;text-decoration:none}
#menu3{position:absolute;top:10px;left:310px;font-family:Verdana;font-size:10pt;font-weight:bold;text-decoration:none}
#menu4{position:absolute;top:10px;left:460px;font-family:Verdana;font-size:10pt;font-weight:bold;text-decoration:none}
</style>

<script>
document.write('<'+typen+' id="menu1" onMouseOver="visundermenu1();">');
document.write('Online');
document.write(slut);
document.write('<'+typen+' id="menu2" onMouseOver="visundermenu2();">');
document.write('Indeks');
document.write(slut);
document.write('<'+typen+' id="menu3" onMouseOver="visundermenu3();">');
document.write('Wmtdk søger');
document.write(slut);
document.write('<'+typen+' id="menu4" onMouseOver="visundermenu4();">');
document.write('Diverse');
document.write(slut);
</script>



Måske end ide, hvis man ændre i linjen "document.write('<'+typen+' id="menu4" onMouseOver="visundermenu4();">');
" og sætter en anden onmouseover(har prøvet med alert) kommer de andre pukter ikke :(
Avatar billede mora Nybegynder
10. juli 2000 - 20:19 #1
Det blev prøvet med NS 4.73, det skal helst virker fra NS4.0 og IE4.0
Avatar billede Lasse Novice
10. juli 2000 - 23:31 #2
OK, her har jeg noget tilsvarende der er rimelig forklarende for hvad det er du gør galt.

<script>
function marker(nr) {
if (navigator.appName=="Netscape") {
    document.layers["valgt"].top=(1+36*nr)
    document.layers["valgt"].left=150
    document.layers["valgt"].visibility="show"
    }
else    {
    document.all["valgt"].style.top=(1+36*nr)
    document.all["valgt"].style.left=150
    document.all["valgt"].style.visibility="visible"
    }
}
</script>
<style>
.fejl {position:absolute;left:0;top:0;visibility:hidden}
a {text-decoration: none}
</style>
...
...
...
<DIV ID=valgt CLASS=fejl>
<img src="pic/marker2.gif"></DIV>

Denne virker BÅDE i IE og NS. Læg mærke til at jeg spørger vha. javascript om det er det ene eller det andet og derved refererer jeg til forskellige objekter. Det skyldes at Netscape og IE ikke har samme objekt-hierarki.

Du kan evt. se resultatet på:
http://www.sek.cph.ih.dk/web/f00/web01/hold2/
Det er boldene ude i siden. De bliver kaldt fra undersiderne(de sider der indeholder tekst - dem til højre)
Avatar billede Lasse Novice
10. juli 2000 - 23:34 #3
Det er den HALVE bold ude i siden, der skifter hver gang man trykker på et nyt link.
Avatar billede mora Nybegynder
11. juli 2000 - 08:08 #4
Jeg spørger skam også om det er NS eller IE, men jeg prøver lige din...
Avatar billede hatecaps Nybegynder
11. juli 2000 - 09:18 #5
uden at have hele skriptet, og opbygningen af menu'en i HTML, er det meget svært at sige noget som helst. hva' med et linik til den side hvor du prøver det på ?
Avatar billede mora Nybegynder
11. juli 2000 - 09:31 #6
Jeg har lige lagt det online.
http://www.webii.dk/menutest/ieframe.htm


I Ns kan man markere den sidste hovedmenu men ikke de 3 andre.
- Der kommer heller ingen undermenuer, designet af menuen skal ikke kommenteres, det kommer senere.
Avatar billede mora Nybegynder
11. juli 2000 - 09:48 #7
Jeg begynder at få NS til at vise noget nu, vha. gookys svar...
Avatar billede mora Nybegynder
11. juli 2000 - 10:35 #8
Nope, det virker ikke...

Flere ideer, tjek lige den nye kildekode på URL´en overfor.
Avatar billede mora Nybegynder
11. juli 2000 - 11:19 #9
Hvis jeg laver hovedmenuerne således.

<layer left=10px; top=10px; onMouseOver="visundermenu1()">Menu1</layer> virker det finr i Netscape

Hvis jeg laver det således.
<DIV id=menu1; onMouseOver="visundermenu1()">Menu1</DIV>
virker det fint i IE

- Hvordan får jeg det til at virke i begge?
Jeg har prøvet med.

document.write('<'+menu1+'; onMouseOver="visundermenu1();">');
document.write('Online');
document.write(slut);

Og så sætte menu1 variablen til div id=menu1 eller layer; left=10px; top:10px
- Men det virker ikke, slut er sat til </div> eller </layer>
Avatar billede Lasse Novice
11. juli 2000 - 11:20 #10
OK, så er jeg tilbage efter en god nats søvn - NICE! Prøv og ændre dine # til . under styles. Jeg tror det vil gøre forskellen
Avatar billede mora Nybegynder
11. juli 2000 - 11:20 #11
Jeg skal bruge et svar i dag, hurtigst muligt :)
Avatar billede Lasse Novice
11. juli 2000 - 11:24 #12
jep, har fundet endnu en fejl. Du bruger:
parent.main0.document.layers.undermenu4.visibility="show";
når du refererer til netscape. Det skal være:
parent.main0.document.layer.undermenu4.visibility="show";

Læg mærke til at mangler et "s" i layer(s)
Avatar billede mora Nybegynder
11. juli 2000 - 11:34 #13
>>>gooky Jeg bruger jo "layers", "layer" giver fejl...?

Jeg har lige ændret mine style til "." isetdet for "#".

Hvad vil du så bruge til at vise dem?
Nu bruger jeg <DIV ID=menu1; onMouseOver="visundermenu1"> offline, og den kombinerede online, intet virker i NS ?
Avatar billede Lasse Novice
11. juli 2000 - 11:35 #14
jeg kigger lige på det inden jeg skriver mere....
Avatar billede Lasse Novice
11. juli 2000 - 12:28 #15
jeg har fundet fejlen, men ved ikke hvad man kan gøre ved det.

Af EN ELLER ANDEN GRUND kan netscape ikke tolke onmouseover - i hvert fald ikke min version(4.7).

Ja, jeg prøvede simpelthen med det simpleste lille hjemmeside, og det virkede ikke. Jeg kan desværre ikke hjælpe dig mora - SORRY. Jeg vedlægger lige det lille html dok nedenunder, så du lige kan prøve det. Hvis du et andet resultat end mig, må du godt lige sige til - det kan jo være at det er browseren der er sat op til det.

<html>
<head>
</head>

<body>

<form>
<input type=text onMouseOver=alert('2')>
</form>

</body>
</html>
Avatar billede mora Nybegynder
11. juli 2000 - 12:34 #16
Jamen, hvis jeg benytter layers kan NS godt klare det ?
Avatar billede mora Nybegynder
11. juli 2000 - 12:36 #17
<layer left=10px; top=10px; onMouseOver="visundermenu1()">Menu1</layer> virker det fint i Netscape, men ikke i IE
Avatar billede hatecaps Nybegynder
11. juli 2000 - 22:04 #18
umm, har du taget siden ned igen ? jeg får "siden blev ikke fundet" hver gang jeg prøver den ...
Avatar billede mora Nybegynder
11. juli 2000 - 22:23 #19
Jeg fandt en anden løsning.

Jeg bruger <a href="#" onMouseOver="visundermenu1()">Link1</a>

Det kan begge browsere klare...

Og så bruger jeg DIV istedet for layers, så er IE med.

- Tak for hjælpen, gooky - men jeg fandt det meste selv. :)
Avatar billede Lasse Novice
12. juli 2000 - 16:40 #20
Det er sku bare i orden. Det er da bare godt at det kom til at virke :--)
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