Avatar billede blackoak Nybegynder
05. juli 2001 - 11:18 Der er 2 kommentarer og
2 løsninger

Navibar i netscape

Det er til at blive tosset af det her!

Jeg har lavet en menu hvor sidens links er i en blivende topframe. Når gæsten fører musen henover et link - bliver der vist et layer med sublinks i den miderste frame. Det virker fint, men hvis brugeren scroller i midtframen, og efterfølgende fører musen hen over et link i top framen, kan man ikke se layeret med sublinks da det stadig bliver vist i toppen af den midterste frame.


Man kan med følgende script få layeret vist det rigtige sted i explorer;

function Hide(value,lag) {
    obj = (document.layers)? document.layers[lag] : (document.all)? document.all[lag].style : document.getElementById(lag).style;
    if (value==0) {
        obj.visibility = \"hidden\";
    }
    else {
    obj.top  = (document.body.scrollTop + 2)+ \"px\";
              obj.visibility = \"visible\";
    }
}
</SCRIPT>

Er der nogen der ved hvordan man får det til at virke i Netscape?.

Det her er rimelig vigtigt for mig - så bonusen er god.

Avatar billede jakoba Nybegynder
05. juli 2001 - 11:43 #1
i Netscape hedder den tilsvarende værdi  window.pageYOffset

    obj.top  = (window.pageYOffset + 2)+ \"px\";
              obj.visibility = \"visible\";

der skal nok også en anden fudge-faktor på :(

mvh JakobA
Avatar billede stener Nybegynder
05. juli 2001 - 12:37 #2
Hvis du paster det direkte vil du få denne fejl:
can\'t convert 2px to an integer.
men det er rigtigt at pageYOffset kan bruges som scrollTop.

Brug istedet for:
obj.moveTo(obj.left, window.pageYOffset);

Det virker men jeg har altså kun testet det i netscape 4.08

Mvh Stener

Avatar billede jakoba Nybegynder
05. juli 2001 - 19:50 #3
tilsammen med steners bidrag bliver det så:

function Hide(value,lag) {
    obj = (document.layers)? document.layers[lag] : (document.all)? document.all[lag].style : document.getElementById(lag).style;
    if (value==0) {
        obj.visibility = \"hidden\";
    }
    else {
        var nyYval;
        if ( document.all )
            nyYval = document.body.scrollTop + 2
        else
            nyYval = window.pageYOffset +2;
        obj.moveTo(obj.left, nyYval);
        obj.visibility = \"visible\";
    }
}

mvh JakobA
Avatar billede klatten Nybegynder
06. juli 2001 - 14:50 #4
http://www.dynamicdrive.com/dynamicindex1/index.html

...har en del gode navibar. Måske de kan hjælpe til noget helt andet?
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