Avatar billede sigski Nybegynder
28. august 2001 - 14:54 Der er 8 kommentarer og
2 løsninger

Automatisk resize af popupvindue

Jeg har en søgefunktion hvor resultatet af søgningen skal komme i et popup vindue.

Men afhængig af hvad folk har søgt på varierer det jo hvor mange søgeresultater der er fundet.

Finder maskinen kun én skal vinduet passe til en vis størrelse - finder den 2 endnu større osv.

Hele problemet er jo at vinduet åbner først hvorefter der først bagefter bliver sendt en forespørgsel til serverside-scriptet ( i dette tilfælde php ), derfor har jeg haft overvejet hvilken kategori der passede bedst - håber det er her

Sigski
Avatar billede Slettet bruger
28. august 2001 - 15:41 #1
Du skal lave et script, hvor du sender en oplysning om, hvor mange søgeresultater, der er, fra PHP til javascript. Og så skal du bruge funktionen vindueNavn.resizeTo(bredde,højde)
Så kommer scriptet til at se nogenlunde sådan her ud (du må selv tilpasse det!):

<script language=\"javascript\">
<!--

inputFraPHP = //Dit input!!!

x = inputFraPHP * 3 //Nu regnes der bredde og højde ud på vinduet!
y = inputFraPHP * 3

self.resizeTo(x,y)

//-->
</script>

Sæt det ind i din popup, og så skulle alt være fryd og gammen!
Avatar billede olebole Juniormester
28. august 2001 - 15:42 #2
<ole>
Kør dette på onload i popUp\'en:

<script language=\"JavaScript\">
var ns4 = (document.layers)? true : false;
var h = (ns4)? document.height : document.body.scrollHeight;
top.resizeTo(din_bredde_i_tal, h);
</script>

/mvh
</bole>
Avatar billede olebole Juniormester
28. august 2001 - 15:50 #3
phoenixv >> Hvor høj er en linie?  =oD
Avatar billede olebole Juniormester
28. august 2001 - 15:50 #4
...du kan ligeså godt svare på mit næste spørgsmål med det samme:
Hvor ved du det fra?
Avatar billede Slettet bruger
28. august 2001 - 20:15 #5
Nej det er klart, at en linje ikke er 3 px høj, men jeg håber sigski forstod mit forslag. Ellers er her den brugervenlige udgave:

<script language=\"javascript\">
<!--

inputFraPHP = <? et-eller-andet ?> //Dit input!!!
hojde = 100 //Højde UDEN søgeresultater
soegHojde = 50 //Pixels extra pr. søgeresultat
x = 300 //Din bredde på vinduet
y = soegHojde * inputFraPHP + hojde

self.resizeTo(x,y)

//-->
</script>

Nu håber jeg, alle forstår @8-))
Avatar billede olebole Juniormester
28. august 2001 - 20:27 #6
Prøv at se mit andet spørgsmål. Pointen er, at du ikke har kinamands chance for at vide, hvordan brugeren har sat sin browser! Derfor duer svaret ikke til ret meget, da du intet aner om, hvor høj en linie er.
Desuden har en linie ikke samme højde i f.eks. NS4.x og IE. Den er én pixel mindre i NS4.x. Her har vi så ikke talt om forskelle mellem system-platformene  :)
Som du ser, er den enste sikre måde at måle vinduets højde og så justere efter den. Der skal dog muligvis lægges lidt til værdien af \'h\' i mit eksempel ovenfor - for at kompensere for evt. statusbar og menubar.
/mvh
Avatar billede olebole Juniormester
28. august 2001 - 20:27 #7
...så håber jeg, at også du forstår  =o)
Avatar billede sigski Nybegynder
28. august 2001 - 20:32 #8
Jeg er vågen ....og følger med i udviklingen, men trækker den lige til i morgen, da jeg har nogle trælse lektier der bare skal laves

Så jeg tester det i morgen

Sigski
Avatar billede sigski Nybegynder
28. august 2001 - 22:55 #9
så fik jeg alligevel tjekket dem

...takker for hjælpen \"eksperter\"
Avatar billede olebole Juniormester
29. august 2001 - 00:04 #10
...anytime  :)
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