Avatar billede dkkarpen Nybegynder
16. september 2002 - 14:43 Der er 14 kommentarer og
1 løsning

Beregn placering

Hej

Jeg har en faldned menu. De lag der udgør  faldnedoptions er placeret i et andet frame end selve menuen. Det betyder imidlertid at hvis brugeren scroller nedaf siden (den med mine lag) så vises faldned lagene ikke. Dette fordi de er fast placeret. Kan man beregne placeringen så de altid vises i top af dette frame?

<div id="menu1" style="position:absolute;left:1px; top:1;">
Avatar billede Slettet bruger
16. september 2002 - 16:07 #1
Du skal beregne, hvor langt man har scrollet. Det gøres i IE med:
document.body.scrollTop
... og i NS med:
window.pageYOffset

Hvis man også kan scrolle horisontalt skal du bruge scrollLeft og pageXOffset.
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:10 #2
Kan du give mig et komplet eksempel?
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:10 #3
Bare med IE Netscape har ingen interesse.
Avatar billede Slettet bruger
16. september 2002 - 16:12 #4
Næ, ikke uden et link fra dig! :)
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:17 #5
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:21 #6
Det er menu1, menu2, menu3 og menu4 der skal følge scroll nedad.
Avatar billede Slettet bruger
16. september 2002 - 16:26 #7
Det er noget af en rodekode, du har dig dér!
Desuden virker den heller ikke for godt i IE5. Når man holder musen over et punkt i menuen, vises underpunkterne i ét sekund, hvorefter de forsvinder.

Men nu til noget kode.
Dette indsættes i head i filen med lagene:

<script>
//Virker kun i IE!

function paaPlads() {
y = document.body.scrollTop;
for (i = 1; i <= 4; i++)
document.all["menu" + i].style.top = y;
}

window.onscroll = paaPlads;
</script>
Avatar billede Slettet bruger
16. september 2002 - 16:28 #8
Nu ser jeg, at du af én eller anden grund, fra start af har sat lagenes y-position til -1. Så skal denne linje:

document.all["menu" + i].style.top = y;

... lige laves om til dette:

document.all["menu" + i].style.top = y - 1;
Avatar billede Slettet bruger
16. september 2002 - 16:30 #9
P.S. Har du ikke oprettet det samme spm to gange?
http://www.eksperten.dk/spm/258390
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:31 #10
Perfekt! Tak skal du have. Hvad er det du synes der er rodet ud over menuen forsvinder ind imellem?
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:31 #11
Nej først legede jeg med idéen om en scroll mekanisme. Men det her er lige så godt.
Avatar billede Slettet bruger
16. september 2002 - 16:41 #12
Tja, for det første har du ingen <html>- og <head>-tags.
For det andet skriver du sådan noget som:
parent.middle.parent.middle.vis_skjul_layers(...)
... hvilket er totalt nonsens.
For det tredje udnytter du ikke Dreamweavers funktioner til det yderste. Det eneste gode ved DW's koder er, at man typisk kun behøver at kalde funktionen én gang med alle argumenterne.
Og sidst, men ikke mindst er den ikke særlig overskuelig.
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:47 #13
Det forstår jeg ikke. Jeg har <html> og head tags. Den med parent.middle.parent.middle har ret i er nonsens det ligner en svipser under en omgang søg og erstat. Hvad mener du med at jeg ikke udnytter DW's funktioner fuldt ud? Forklaring modtages med kyshånd. Tak for kritikken.
Avatar billede Slettet bruger
16. september 2002 - 16:56 #14
Hverken "top.asp" eller "ezsurvey.asp" har <html>- eller <head>-tags.
Desuden skal frameset-koden stå imellem <head>-tagsene på din frameset-side.
Du har direkte kopieret script-koden fra "top.asp" til "ezsurvey.asp" (eller omvendt) på trods af, at du ikke engang bruger halvdelen af den.
DW's kode er så smart, at istedet for at kalde den fire gange, kan du nøjes med dette:

vis_skjul_layers('menu1', '', 'show', 'menu2', '', 'hide', 'menu3', '', 'hide', 'menu4', '', 'hide');

... for at vise menu1 og skjule de andre.
Avatar billede dkkarpen Nybegynder
16. september 2002 - 16:58 #15
Ok. Det vidste jeg ikke. Tak for oplysningen.
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