Avatar billede nikolajdu Nybegynder
20. maj 2001 - 15:08 Der er 13 kommentarer og
2 løsninger

Dragge vindue

Hey hey.

2 spørgsmål.

1. Jeg har (ved en fejltagelse!! - Kom til at resize et fullscreen vindue :-)) lavet mig et vindue ala www.microbians.com, hvor der ingen barer er med. Siden har jeg så i toppen har jeg lagt min egen titelbar/layer med titel og \"luk knap\". Nu vil jeg så gerne gerne kunne dragge vinduet på resten af baren altså ligesom man kan trække i titelbaren på almindelige vinduer.

Denne laver min Topbar:

<script>
document.write(\'<div id=\"topBar\" style=\"position:absolute; left:0px; top:0px; width:\'+(screen.availWidth-20)+\'px; height:20px; z-index:1; visibility: visible; background-color: #336699; border: 1px none #000000\">\');
document.write(\'<div class=\"top\" z-index:1; >\');
document.write(document.title);
document.write(\'</div>\');
document.write(\'</div>\');
document.write(\'<div id=\"topBar2\" class=\"top\" style=\"position:absolute; left:\'+(screen.availWidth-20)+\'px; top:0px; width:20px; height:20px; z-index:2; visibility: visible; background-color: #FFCC00; border: 1px none #000000\">\');
document.write(\'<a href=\"#\" onClick=\"java script:window.close();\">\');
document.write(\'luk\');
document.write(\'</a>\');
document.write(\'</div>\');
</script>

Hvis det kan og skulle kunne virke i Netscape, skal jeg så lægge en gif ind i layeret. Forstå mig ret. Man kan vel ikke lave onMouse på layers i Netscape og så tænkte jeg en .gif ville kunne gøre det??

Andet spørgsmål.

I ovenstående har jeg brugt +(screen.availWidth-20)+ - Detter virkede fint i Fullscreen vinduet, men nu er det resizet så placeringen skal flyttes. Det er altså ikke screen jeg vil have, men vinduets indre bredde.

Har tidligere forsøgt mig med \"innerWidth\", men kunne sgu ikke få det til at virke ordentligt.

I kan se mit lille forsøg her: http://www.nikolajdu.dk/xpert/vindue.html

/Nikolaj
Avatar billede jakoba Nybegynder
20. maj 2001 - 18:45 #1
du kan bruge (aflæs musens koordinater scriptet på denne side:
http://hjem.get2net.dk/Jakob.Aggernaes/temp/exp57415.html

var Ymouse = Xmouse = 0;
var ns4 = (document.layers)?true:false;
var ns6 = (document.getElementById && !document.all)?true:false;

function Mouse( evnt ) {
  Ymouse=(ns4||ns6)?evnt.pageY:event.y;
  Xmouse=(ns4||ns6)?evnt.pageX:event.x;
  document.forms.mousePos.Xpos.value=Xmouse;
  document.forms.mousePos.Ypos.value=Ymouse;
  // her indstterdu en window.moveBy( x, y ) der sørger for at musen
  // har samme position over vinduet sålænge venstreknap er nede.
}; //end Mouse( event object )

if (ns4) {
  window.captureEvents(Event.MOUSEMOVE);
  window.onMouseMove=Mouse;        // catch mouse movement (NS)
} else {
  document.onmousemove=Mouse;      // catch mouse movement (IE)
};

mvh JakobA
Avatar billede nikolajdu Nybegynder
21. maj 2001 - 04:45 #2
1. Jeg har forsøgt at fastholde musens placering, når der trykkes. Her er jeg helt blank lige nu.

2. Mit Fullscreenvindue resizer ikke i min Netscape 4.73, men i 6.01 - Aner du hvorfor?? - top.resizeTo(760,360) - Kunne jeg bruge this.resizeTo??

3. Mit andet spørgsmål fik du ikke besvaret. Jeg har forsøgt at lave en alert(document.innerWIDTH); og en alert(window.innerWIDTH);, men her siger Netscape at den er \"undefined\" hvorfor og hvad hedder den tilsvarende i IE??

Ud fra et grafisk synspunk er vinduet til IE fantastisk, hvis bare det så kan fungere rimeligt anstændigt i NS også... Så bliver jeg bare såååå glad ;-)

/Nikolaj
Avatar billede engrob Nybegynder
21. maj 2001 - 15:46 #3
Til de nye spørgsmål

1. Øøøh, ja, hvordan gør man det.
2. Prøv self.resizeTo(\"100\",\"183\") - virker for mig
3. Prøv innerWidth, eller har jeg forstået dig forkert?
Avatar billede nikolajdu Nybegynder
21. maj 2001 - 15:50 #4
1. Ja hvordan dog...
2. Jeg kan ikke bruge self.resizeTo(\"100\",\"183\"), da det er meningen at det skal kunne gøre dynamisk - Jeg har derfor brug for variablerne.
3. Jeg har prøvet innerWidth, men kan ikke få det til at virkje ordentligt...
Avatar billede engrob Nybegynder
21. maj 2001 - 15:54 #5
Glem #3, men i IE mener jeg det hedder document.body.clientWidth
Avatar billede engrob Nybegynder
21. maj 2001 - 15:56 #6
#2 Det var nu også mere self, jeg hentydede til.
Avatar billede nikolajdu Nybegynder
21. maj 2001 - 15:58 #7
åhhh. :-)
Avatar billede engrob Nybegynder
21. maj 2001 - 15:59 #8
Hvad mener du med at du skal bruge variabler. Det ser da ikke ud til du har nogen, der hedder 760 og 360.
Avatar billede nikolajdu Nybegynder
21. maj 2001 - 16:01 #9
engrob - Ja, lige nu. Jeg skrev også det er meningen,  men så langt er jeg ikke nået endnu. :-)
Avatar billede engrob Nybegynder
21. maj 2001 - 16:02 #10
åhhh. :-)
Avatar billede jakoba Nybegynder
21. maj 2001 - 21:42 #11
1. Jeg har forsøgt at fastholde musens placering, når der trykkes. Her er jeg helt blank lige nu.
>> Det er jeg faktisk også.

2. Mit Fullscreenvindue resizer ikke i min Netscape 4.73, men i 6.01 - Aner du hvorfor?? - top.resizeTo(760,360) - Kunne jeg bruge this.resizeTo??
>> kik på microbians.com. ifølge dem dutter cromeless overhovedet ikke i NS :)

3. Mit andet spørgsmål fik du ikke besvaret. Jeg har forsøgt at lave en alert(document.innerWIDTH); og en alert(window.innerWIDTH);, men her siger Netscape at den er \"undefined\" hvorfor og hvad hedder den tilsvarende i IE??

>> NS har  window.innerWidth og window.innerHeight til vinduets indre størrelse.
>> IE har  document.body.clientWidth og document.body.clientHeight.
>>dvs: både navn og placering er forskellig.

mvh JakobA
Avatar billede nikolajdu Nybegynder
21. maj 2001 - 22:54 #12
Jakoba - Jeg ved godt at microbians.com vindue ikke duer i Netscape. Jeg er tæt på at have lavet et, der virker i IE og stadig fungerer i Netscape. I Netscape kan jeg dog ikke fjerne titelbaren, men det overlever jeg hvis jeg kan få det ordentligt til at virke i IE.

Eneste jeg mangler nu er Fastholdelse af musen. Har fået de 2 andre til at virke med Engrobs hjælp.

Engrob Du må hellere smide et svar. :-)


Ang: Fastholdelse.

Så vidt jeg kan regne ud skal vinduet holdes ligeså langt væk som musen er inde/nede på siden for at det virker. Koordinaterne skal altså også bruges her. Kunne bare ikke lige greje det 100%
/Nikolaj
Avatar billede engrob Nybegynder
22. maj 2001 - 16:53 #13
Okay, fint nok. I NS6 hedder det document.body.offsetWidth, men jeg synes bare der er det problem at den tager hele siden med. Altså også scrollbar, hvis der er det.
Avatar billede nikolajdu Nybegynder
22. maj 2001 - 17:05 #14
Scrollbar har jeg slået fra af samme grund.

Det er kun titelbar der er tilbage.

Nå, men jeg løber kæmper for at fikse min museposition.

Sig endelig til hvis i har nogle forslag/idéer.
Avatar billede nikolajdu Nybegynder
30. maj 2001 - 16:21 #15
Så lukker vi. Arbejder stadig videre med det skidt ;-)
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