Avatar billede loopstudio Nybegynder
03. oktober 2003 - 16:46 Der er 24 kommentarer

Udførelse af kode EFTER at vinduet er resized?

Hej, jeg har prøvet "onResize", men den aktiveres jo i det øjeblik man BEGYNDER at resize! Jeg vil gerne have en form for onResizeEnd og det findes der jo faktisk, men den kan jeg ikke få til at virke, i hvertfald ikke på mit vindues <BODY onResizeEnd="alert'resized')">

Mit spørgsmål går altså på, Kan man fange en event når vinduet er færdig resized?
Avatar billede skovenborg Nybegynder
03. oktober 2003 - 17:20 #1
det vist en IE event du har fat i der - i normal javascript findes der jo ikke sådan en.
Du har vist også skrevet forkert - der skal jo stå:
<BODY onResizeEnd="alert('resized')">
hvis det var rigtigt
Avatar billede skovenborg Nybegynder
03. oktober 2003 - 17:25 #2
...ikke fordi det virker altså ;-) men det var jo bare en lille stavefejl.
Avatar billede loopstudio Nybegynder
03. oktober 2003 - 19:10 #3
1) Hmm.. ok, er det "OnResizeEnd" der kun er IE, eller er det også "OnResize"?

2) Nå, men IE er jo alligevel mest udbredt, såå vil det sige at det ER muligt? Og i så fald, hvordan?

Og ja, jeg kan godt se jeg har lavet en hurtig tastefejl, men den var ikke i min kode.. *s*
Avatar billede roenving Novice
03. oktober 2003 - 20:50 #4
Du resizer vel med en kode, så du kan vel:

window.resizeTo(300,200);dinNaesteKommando()
Avatar billede loopstudio Nybegynder
03. oktober 2003 - 21:14 #5
roenving: Jeg har brug for det når brugeren resizer vinduet.

Jeg har noget kode nu som bliver udført på "OnResize", men når brugeren resizer sit vindue bevirker denne metode desværre at min kode bliver kaldt adskillige gange imens vinduet resizes.
Avatar billede roenving Novice
03. oktober 2003 - 21:22 #6
Ja, det har du selvfølgelig ret i, for ret beset opfatter browseren en resize for hver eneste pixel, som vinduet resizes med ...

-- men hvad er det for en type kode, du skal kalde, for der er en verden til forskel på at du skal bede serveren sende et nyt billede eller om du skal ændre forholdet mellem nogle divs størrelse ?-)
Avatar billede loopstudio Nybegynder
03. oktober 2003 - 22:00 #7
jeg skal begge dele, så det er liiidt besværligt.. ja, dvs. ikke decideret DIVS, men tabeller, iframes, indhold i iframes etc. skal resizes! Dvs. noget blot vha. tags, andet ved at der hentes nye data fra serveren.

Men kan det lade sig gøre? Er der en metode? Eller skal man lave en function der kaldes og laver en timeout, som så FØRST efter et par sekunder SÅ resizer den ens indhold, fordi at den til den tid regner med at folk er færdige med deres resizing af vinduet.!? *hehe* nørd-løsning, men måske vil det virke..
Avatar billede roenving Novice
03. oktober 2003 - 22:14 #8
Jeg ville nok give en kort lunte:

onresize="setTimeout(resWin(),200);"

-- det er en femtedel sekund, og vil opfattes som en forsinkelse, men ikke alvorlig ...
Avatar billede roenving Novice
03. oktober 2003 - 22:14 #9
Hov:

onresize="setTimeout('resWin()',200);"
Avatar billede loopstudio Nybegynder
03. oktober 2003 - 23:15 #10
Er der ikke andre alternativer? Og kan OnResizeEnd ikke bruges til noget fornuftigt? ;o)
Avatar billede roenving Novice
04. oktober 2003 - 10:46 #11
-- kender den desværre ikke godt nok til at jeg kan komme med et bud ...
Avatar billede roenving Novice
04. oktober 2003 - 11:05 #12
Bemærk at dette præciseres hvis man går ind på msdn's reference-side for onresizeend:

- at den kun registreres som noget, hvis der er tale om en 'control section' (eller selection -- det fik jeg ikke li'e fat i !-)

-- og en sådan defineres sådan:
Displayed content that is selected by the user or by a method such that the sizing handles are displayed. Objects enter a control-selected state when the user clicks once on an object. To place an object in a control-selected state, the document or element containing the object must be in edit mode. Examples of elements that are control selected include images, tables, and anything that is positioned absolutely.

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events/onresizeend.asp
Avatar billede loopstudio Nybegynder
04. oktober 2003 - 15:18 #13
ja, det havde jeg også læst, men blev ikke lige så meget klogere.
Jeg prøvede at se om TABEL eller TD elementet kunne affyre en onResizeEnd, men desværre uden held.
Avatar billede olebole Juniormester
08. oktober 2003 - 08:09 #14
<ole>

loopstudio >> Hvad er problemet (bortset ligefra en alert)?
På alle de 10.000-vis af sider på nettet, der replacerer HTML-elementer på onresize er det ikke noget problem  :)
Jeg har selv brugt det masser af gange og har aldrig haft problemer med onresize's virkemåde.

/mvh
</bole>
Avatar billede loopstudio Nybegynder
10. oktober 2003 - 01:47 #15
Hej Olebole..

Lang tid siden.. ;o)

Jo ser du, jeg har en side med en del iframes og nogle af disse iframes skal skifte indhold, dvs. genlæses når brugeren resizer vinduet. Men problemet består i at IE's OnResize metode fungerer på den måde at den trigger faktisk for hver pixel vinduet skaleres, eller sagt på en anden måde, for hver lille bevægelse musen laver på sin vej til slutstørrelsen på vinduet, når brugeren resizer sit vindue. Dette bevirker at der bliver kaldt nogle programmer på serveren et unødigt antal gange. Lad os sige at der er 3 iframes der skal udskiftes ved resize, men i stedet for 3 programkald, så sker der måske 3 x 30 eller 3 x 5 eller 3 x 100 programkald og dette får altså Internet Explorer ned i knæ nogle af gangene, ja IE kan faktisk gå ned!!

Jeg fatter simpelt hen ikke at der ikke er lavet en ResizeOnEnd OG at den virker på resizing af vinduet!

Kan du følge mig nu? ;o)
Avatar billede olebole Juniormester
10. oktober 2003 - 02:37 #16
Hehe ... ja, så har du en mindre udfordring  :)
Men hvorfor genindlæse på onresize?
/mvh
Avatar billede loopstudio Nybegynder
10. oktober 2003 - 02:50 #17
fordi jeg bl.a. har javaapplets som skal resizes
Avatar billede olebole Juniormester
10. oktober 2003 - 02:55 #18
... lucky YOoooooOOoooouuuuuu ...!!!  :D
Avatar billede loopstudio Nybegynder
10. oktober 2003 - 03:27 #19
NOPE! *g*

Er det muligt at styre javaapplets parameter-tags on the fly?
Avatar billede olebole Juniormester
10. oktober 2003 - 03:43 #20
Jeg roder nødigt og yderst sjældent med Java-appletter, så jeg ved faktisk ikke, hvordan understøttelsen er idag  :o|
Avatar billede olebole Juniormester
10. oktober 2003 - 03:54 #21
prøv noget:
  var bla = document.applets[0].setNoget();
eller:
  document.applets[0].minParameter = "tja_hvofor_ikke";

Denne her har jeg fra mortrr, der plejer at have meget godt styr på Java:

<object id="minKlasse" ...>
<embed name="minKlasse" ..>
</embed>
</object>
<script>
Data=document.minKlasse.HentData();
</script>
Avatar billede loopstudio Nybegynder
10. oktober 2003 - 11:15 #22
ok, det må jeg lige udforske.. ;o)

Ikke at jeg forstår synderligt meget af det *s*
1) Er det 3 forskellige eksempler du har givet mig?
2) Det første eksempel, hvad gør "SetNoget()" og "bla"?
3) 3. eksempel, hvad gør "data=" ? og er det blot fordi at udtrykket returnerer true eller false og dette skal havne i en eller anden variabel? Ellers.. skal "Data=..." sætningen så ikke stå INDE i embed-tag'et?

*S*
Avatar billede olebole Juniormester
10. oktober 2003 - 15:08 #23
Dette:

<object id="minKlasse" ...>
<embed name="minKlasse" ..>
</embed>
</object>

Er blot implementeringen af appletten - og scriptet er så et eksempel på et kald til en metode 'HentData()' internt i appletten. 'Data' er blot en variabel, der bliver sat til den værdi, der hentes ud af appletten.

De to første, er blot et bud på, hvad der _måske_ kan lade sig gøre. Dels at sætte en værdi i appletten (ved hjælp af en metode i appletten) - dels at sætte en parameter. Jeg tror dog mest på eksemplet fra mortrr  :)
/mvh
Avatar billede loopstudio Nybegynder
10. oktober 2003 - 15:39 #24
ok, jeg må lige prøve det, når jeg får tid *s*
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