Avatar billede neander Nybegynder
11. juli 2004 - 14:36 Der er 32 kommentarer og
2 løsninger

in-line popup

Jeg søger en javascript ekspert. Hvordan laver man en simpel inline popup box på et link?

Grunden til at jeg gerne vil have det specifikt tilknyttet hvert link er, at jeg skal have genererer links'ne fra en database, så antallet af poster kan variere. Højde, vidde og placering på skærmen skal kunne definere i scriptet.
Avatar billede mm12010 Nybegynder
11. juli 2004 - 14:43 #1
Avatar billede mm12010 Nybegynder
11. juli 2004 - 14:44 #2
Avatar billede 3xm Nybegynder
11. juli 2004 - 14:45 #3
du laver vel en funktion der passer til det, og så kalder du den med

onclick="minsmartefunktion(adresse, højde, bredde, placx, placy);"

...ik?
Avatar billede neander Nybegynder
11. juli 2004 - 14:50 #4
mm12010 > Med inline mener jeg at hele definitionen på scriptet skal stå på selve "<a href..." linjen, - og ikke i head'eren eller andre steder.

Jeg har vha dit første link lavet denne popup:

window.open('','subWindow',
'height=200,width=300,top=270,screenY=270,left=362,screenX=362,
toolbar=no,location=no,directories=no,status=no,
menubar=no,scrollbars=no,resizable=no,copyhistory=no,
alwaysLowered=no,alwaysRaised=no,dependent=no,hotkeys=no,
titlebar=no,z-lock=no,fullscreen=no,channelmode=no')

hvordan sætter jeg det ind i "<a href..."?
Avatar billede 3xm Nybegynder
11. juli 2004 - 14:53 #5
du sætter det ind i onclick="" -attributten på dit <a>-tag.

=)
Avatar billede neander Nybegynder
11. juli 2004 - 14:53 #6
NB: jeg kan se at der i ovenstående er defineret hvor på skærmen popup'en skal komme i pixels. Men alle skærme kører jo ikke med samme opløsning. Hvordan centrerer jeg popup'en universalt?
Avatar billede 3xm Nybegynder
11. juli 2004 - 14:54 #7
altså <a href="..." onclick="window.open(...);">link</a>

=)
Avatar billede neander Nybegynder
11. juli 2004 - 14:54 #8
navnet "subWindow" i ovenstående skal det være unikt for hvert link på siden?
Avatar billede neander Nybegynder
11. juli 2004 - 14:55 #9
3xm > ok, tester det lige
Avatar billede 3xm Nybegynder
11. juli 2004 - 14:57 #10
hvis du vil have dem til at åbne i hvert sit vindue, så skal de. hvis de skal åbne i samme, så skal de ikke.

=)
Avatar billede neander Nybegynder
11. juli 2004 - 15:01 #11
det virker sku ikke... jeg får en "udført med fejl på siden" og popup'en kommer ikke... siden åbnes bare i samme vindue...

Her er mit script:

HTML = HTML & "<a href='album_pop.asp?album-id=" & objRS("ID") & "'"
HTML = HTML & " onclick='window.open('','subWindow','height=200,width=300,top=270,screenY=270,left=362,screenX=362,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,alwaysLowered=no,alwaysRaised=no,dependent=no,hotkeys=no,titlebar=no,z-lock=no,fullscreen=no,channelmode=no');'><img src='covers/" & objRS("CoverFil") & "_micro.jpg'"
HTML = HTML & "border='0'></a></td>"
Avatar billede neander Nybegynder
11. juli 2004 - 15:06 #12
I HTML'en ser det således ud:

<a href='album_pop.asp?album-id=12' onclick='window.open('','subWindow','height=200,width=300,top=270,screenY=270,left=362,screenX=362,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,alwaysLowered=no,alwaysRaised=no,dependent=no,hotkeys=no,titlebar=no,z-lock=no,fullscreen=no,channelmode=no');'><img src='covers/cd2004_micro.jpg'border='0'></a>

ikke nemt at overskue - kan du se hvor fejlen er? måske det har noget at gøre med at det er samme navn jeg har på alle vinduerne? eller en syntax-fejl?
Avatar billede 3xm Nybegynder
11. juli 2004 - 15:06 #13
du skal også lige skrive adressen der skal åbnes i vinduet. og så skal du huske at indføre return: false; efter window.open(...); i din onclick.

=)
Avatar billede mm12010 Nybegynder
11. juli 2004 - 15:07 #14
HTML = HTML & "<a href='album_pop.asp?album-id=" & objRS("ID") & "'"
HTML = HTML & " onclick='window.open("""",""subWindow"",""height=200,width=300,top=270,screenY=270,left=362,screenX=362"");return false;'><img src='covers/" & objRS("CoverFil") & "_micro.jpg'"
HTML = HTML & "border='0'></a></td>"
Avatar billede mm12010 Nybegynder
11. juli 2004 - 15:09 #15
sådan her, så åbner den den side der er angivet i href i din popup:

HTML = HTML & "<a href='album_pop.asp?album-id=" & objRS("ID") & "'"
HTML = HTML & " onclick='window.open(this.href,""subWindow"",""height=200,width=300,top=270,screenY=270,left=362,screenX=362"");return false;'><img src='covers/" & objRS("CoverFil") & "_micro.jpg'"
HTML = HTML & "border='0'></a></td>"
Avatar billede 3xm Nybegynder
11. juli 2004 - 15:11 #16
det skyldes bl.a. nok at du bruger ' til både dine html-atrributter og i dit javascript.  prøv med:

<a href="album_pop.asp?album-id=12" onclick="window.open('STI-TIL-SIDE-DER-SKAL-VISES','subWindow','height=200,width=300,top=270,screenY=270,left=362,screenX=362,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,alwaysLowered=no,alwaysRaised=no,dependent=no,hotkeys=no,titlebar=no,z-lock=no,fullscreen=no,channelmode=no'); return: false;"><img src="covers/cd2004_micro.jpg" border="0"></a>

=)
Avatar billede neander Nybegynder
11. juli 2004 - 15:12 #17
super duper mm12010, nu virker det. Men der var stadig ikke nogen universal centrering? eller er det nemmere bare at lægge en fast pixel på?
Avatar billede 3xm Nybegynder
11. juli 2004 - 15:13 #18
for at centrere popup'en skal du sætte:

top='+((screen.height/2)-250)+', left='+((screen.width/2)-200))

hvor 250 og 200 skal skiftes ud med vinduets bredde og højde.

=)
Avatar billede neander Nybegynder
11. juli 2004 - 15:13 #19
læg lige et svar folks
Avatar billede 3xm Nybegynder
11. juli 2004 - 15:15 #20
okay...

=)
Avatar billede neander Nybegynder
11. juli 2004 - 15:16 #21
æææ-i, også dig mm12010 :o)
Avatar billede mm12010 Nybegynder
11. juli 2004 - 15:18 #22
svar :o)
Avatar billede neander Nybegynder
11. juli 2004 - 15:21 #23
tak
Avatar billede neander Nybegynder
11. juli 2004 - 15:32 #24
hmm... 3xm, det her virker ikke:
onclick='window.open(this.href,""subWindow"",""height=378,width=511,top='+((screen.height/2)-378)+', left='+((screen.width/2)-511))'"");return false;'>

syntaxfejl?
Avatar billede roenving Novice
11. juli 2004 - 15:36 #25
onclick='window.open(this.href,""subWindow"",""height=378,width=511,top=""+((screen.height/2)-378)+"", left=""+((screen.width/2)-511))"");return false;'>
Avatar billede neander Nybegynder
11. juli 2004 - 15:40 #26
roenving > jeg får "udført med fejl på siden" og vinduet åbner ikke i nyt...
Avatar billede roenving Novice
11. juli 2004 - 15:47 #27
Nåh, ja:

onclick='window.open(this.href,""subWindow"",""height=378,width=511,top=""+(screen.height-378/2)+"", left=""+(screen.width-511/2));return false;'>
Avatar billede neander Nybegynder
11. juli 2004 - 15:50 #28
roenving > hehe...nu åbner vinduet helt nede i venstre hjørne af skærmen, pussigt.
Avatar billede neander Nybegynder
11. juli 2004 - 15:51 #29
ej, nederste højre hjørne... til gengæld melder den ikke fejl. Men jeg vil jo helst have vinduet til at komme lige midt på skærmen :o)
Avatar billede mm12010 Nybegynder
11. juli 2004 - 15:51 #30
onclick='window.open(this.href,""subWindow"",""height=378,width=511,top=""+((screen.height-378/)2)+"", left=""+((screen.width-511)/2));return false;'>
Avatar billede mm12010 Nybegynder
11. juli 2004 - 15:52 #31
hmm - prøver lige igen :-)

onclick='window.open(this.href,""subWindow"",""height=378,width=511,top=""+((screen.height-378)/2)+"", left=""+((screen.width-511)/2));return false;'>
Avatar billede neander Nybegynder
11. juli 2004 - 15:54 #32
YES, supergreen... alle gode gange 7! - tak, nu virker det.
Avatar billede roenving Novice
11. juli 2004 - 15:55 #33
Jeg fik fjernet det forkert, men faktisk er der ikke behov for den ekstra parantes:

onclick='window.open(this.href,""subWindow"",""height=378,width=511,top=""+(screen.height-378)/2+"", left=""+(screen.width-511)/2);return false;'>
Avatar billede neander Nybegynder
11. juli 2004 - 15:59 #34
roenving > du har ret, den ekstra parantes er overflødig. Det fungerer nemlig fint med dit script.
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