Avatar billede topperware Nybegynder
16. december 2002 - 02:18 Der er 8 kommentarer og
1 løsning

Hvordan får man et popup-vindue til at blive i forgrunden

Jeg vil gerne undgå, at man ved et klik udenfor et aktivt popup-vindue utilsigtet "fjener" dette popup-vindue, og samtidig hvis der klikkes på links til andre popup-vinduer, ikke er i stand til at frembringe dem.

Jeg ved det er noget JavaScript i retning af onBlur() og focus(), men hvor er det lige, det skal placeres i koden,  og hvad er det helt nøjagtigt, der skal stå .
Avatar billede knudgert Nybegynder
16. december 2002 - 02:26 #1
Det er ikke nogen ide med et popupvindue altid i focus, du kan kun få det ved at det bliver refreshet, sætter du til at refreshe hvert sekund f.eks., så vil den underliggende isde ikke kunne bruges, f.eks. links eller, hvis man skal skrive noget.

Du kan så sætte refreshtiden til lidt højere, f.eks. hvert tiende sekund.

Nedennævnte script, sætter vinduet i focus hvert sekund.
<script type="text/javascript">
StayTop=setInterval('self.focus()',1000)
</script>

Mig bekendt kan du ikke forhindre folk i at åbne andre popups på den underliggende side, men det er vel bare at lade være med at lave nogen popupvinduer (hvorfor skulle du lave det, når folk ikke må bruge dem?)
Avatar billede topperware Nybegynder
16. december 2002 - 02:32 #2
Det er meningen at man klikker på et billede. Så åbnes et popup-vindue med et stort format af samme billede og lægger sig over de resterende små klikbare billeder. Her skal det blive indtil man lukker det ved enten en funktion "self.close" eller på helt normalt vis, et klik på X øverst i højre hjørne.
Avatar billede brixz Nybegynder
16. december 2002 - 02:36 #3
Alt+F4 skule også kunne lukke den hehe
Avatar billede topperware Nybegynder
16. december 2002 - 02:41 #4
O.K. hør lige her, det er altså ikke forbudt at lukke popup-vinduet. Det er bare for ikke at lave ged i den; hvis man fx. klikker udenfor popup-vinduet. I så fald ryger det jo ned under statusbaren (jeg ved ikke lige hvad det hedder) og hvis man så klikke på et andet lille billede bliver det skiftet ud med et billede i popup-vinduet, der nu ikke længere er synligt.
Avatar billede knudgert Nybegynder
16. december 2002 - 02:47 #5
Øhh - hvis folk vil vedblive med at se billedet, tror du så ikke at de slev kan finde ud af at få det i focus igen?

Hvis du vil undgå, at billedet i popupvinduet bliver skiftet ud med et andet, så er det jo bare at give hvert vindue sit eget navn, dvs. at det vinduenavn du bruger i dit link er forskelligt.
Avatar billede topperware Nybegynder
16. december 2002 - 02:57 #6
Nej, det er jeg ikke sikker på alle brugere kan finde ud af. Med al respekt så tror jeg at der er mange brugere ikke ved noget som helst om hvordan en browser opfører sig.

Nu vil jeg lige bruge lidt tid på dit forslag, og se om det er det der skal til.
Avatar billede shaman Nybegynder
16. december 2002 - 11:24 #7
Hvis du bare er bange for at billedet skal åbnes i et popup vindue der ligger under nogle andre vinduer, så kan du sagtens bare give popup vinduet focus fra parent siden når du kalder vinduet;

function openMyWindow(url)
{
myWindow = window.open(url,'newWin','width=200, height=100');
if (myWindow.focus = null)
{
myWindow.focus();
}
}

At åbne det med permanent focus er en dårlig ide, for det er ekstremt irriterende for brugeren.

HVIS du nu endelig ville være irriterende ville du åbne det nye vindue med <body onload="this.focus()" onBlur="this.focus()">

Så bliver det ved med at tiltvinge sig focus.
Avatar billede shaman Nybegynder
16. december 2002 - 11:24 #8
Hmm, det skulle vist have været et svar...
Avatar billede topperware Nybegynder
16. december 2002 - 11:38 #9
O.K. så har jeg løst problemet:
På popup-siden har jeg skrevet <body onLoad="focus()">. Det fungerer på følgende måde:
Hvis der klikkes udenfor popup-vinduet forsvinder det godt nok ned i proceslinjen, men hentes op igen hvis der fx klikkes på et nyt (eller det samme) link, og billedet udskiftes evt.i popup-vinduet - helt efter planen.
Problemet før var, at man skulle klikke på det minimeret popup-vindue i processlinjen og derefter lukke det, før man kunne komme videre. Det var det jeg ikke er sikker på alle brugere af sitet ville vide.
Min formulering af ? var vist ikke helt klar, så dit svar er sådan set godt nok. Jeg håber nu jeg har beskrevet problem og løsning lidt mere forståeligt.
Jeg har i hvert fald fået det til at virke, som jeg ønsker. Så tak for nu.
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