Avatar billede miss-g Seniormester
21. oktober 2003 - 16:21 Der er 17 kommentarer og
2 løsninger

Flere popup links på samme side?

Jeg har 4 små billeder på xxx.htm.

Når man klikker på et billede, kommer der et popup vindue frem med koden i head:

<SCRIPT Language="JavaScript">
function openwindowlink(){
newwin = window.open("lion.htm","lion"," height=320,width=320,scrollbars")
}
</SCRIPT>

Men hvad så hvis jeg vil have pop up (til forskellige sider) på de andre billeder også? Skal jeg så lave 4 forskellige scripts i <head>?

Og hvordan kan linket så hitte ud af hvilket javascript der gælder, når der blot står:

<A href="java script:openwindowlink()">Open Window</A>

Kan det gøres på en smartere måde? Har læst mig frem til at jeg skal bruge javascript, hvis jeg vil have det sådan at man kan klikke på popup vinduet for at lukke det - UDEN at der bliver spurgt om man er sikker.

Er meget ny i kodning, så forklar venligst på børnehave plan *G*
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 16:24 #1
du kan lave en parameter:
function openwindowlink(side){
newwin = window.open(side,"lion"," height=320,width=320,scrollbars")
}

<A href="java script:openwindowlink('lion.htm)">Open Window</A>
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 16:24 #2
ups - der skulle stå <A href="java script:openwindowlink('lion.htm')">Open Window</A>
Avatar billede miss-g Seniormester
21. oktober 2003 - 16:26 #3
Ok, så mine sider der henholdsvis skal åbnes er:

lion.htm
shirt.htm
bamse.htm
trommer.htm

Hvordan ser koden så ud i head delen?
Avatar billede miss-g Seniormester
21. oktober 2003 - 16:27 #4
Og hvor ved billedet skal den anden kode stå??

<td width="84"><img src="Pictures%20rentegning/mini-lion-2.gif" width="70" height="70" border="0"></td>
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 16:34 #5
det skal være fuldstændig som der står:

Hvis du vil åbne shirt.htm skriver du bare:
<A href="java script:openwindowlink('shirt.htm')">Open Window</A>

Hvis du skal åbne det på et billede kan du skrive:
<td width="84"><img src="Pictures%20rentegning/mini-lion-2.gif" width="70" height="70" border="0" onclick="openwindowlink('lion.htm');"></td>

Det er parameteret (som det kaldes) "side" som er den side, der skal åbnes. Du skriver ganske enkelt en side inde i funktionen:
openwindowlink('lion.htm');

og funktionen tager så imod denne side (egentlig en variabel) og bruger den i scriptet:
function openwindowlink(side <-- Parameter, som her bruges til at fortælle funktionen hvad for en side der skal åbnes){
newwin = window.open(side,"lion"," height=320,width=320,scrollbars")
}
Avatar billede miss-g Seniormester
21. oktober 2003 - 16:46 #6
Ok, så hvis jeg lige forstår det rigtigt, så har du ikke nogen kode til head sektionen, men sætter et "parameter" direkte på hver enkelt billede:

onclick="openwindowlink"

Men, så vidt jeg ved, så får jeg problemer når jeg vil have sat et script på "lion.htm" som lukker vinduet ved click.

Jeg må lige prøve det i praksis....
Avatar billede miss-g Seniormester
21. oktober 2003 - 16:50 #7
Fatter ikke en dyt.

Hvad skal der stå i <head> ... </head> ???
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 16:51 #8
det kommer jo også an på hvordan du gør det. Og forresten så ligger den funktion med openwindowlink i headeren - det har jeg bare ikke skrevet. Det smarte ved den er at du ikke behøver at lave en ny funktion hver gang du vil åbne et billede.
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 16:53 #9
jeg laver lige et fuld script:
<html>
<head>
<script type="text/javascript">
function openwindowlink(side){
newwin = window.open(side,"lion"," height=320,width=320,scrollbars")
}
</script>
</head>
<body>
<A href="java script:openwindowlink('shirt.htm')">Open Window</A>
<table><tr>
<td width="84"><img src="Pictures%20rentegning/mini-lion-2.gif" width="70" height="70" border="0" onclick="openwindowlink('lion.htm');"></td>
</tr></table>
</body>
Avatar billede miss-g Seniormester
21. oktober 2003 - 16:54 #10
Ja, den her ligger i headeren:

<SCRIPT Language="JavaScript">
function openwindowlink(){
newwin = window.open("lion.htm","lion"," height=320,width=320,scrollbars")
}
</SCRIPT>

Men der står at det vindue der skal åbnes er "lion.htm" og det gælder jo kun på det ene billede!

Forstår så ikke hvordan de andre billeder kan åbne en anden htm side...?
Avatar billede miss-g Seniormester
21. oktober 2003 - 21:12 #11
Nogen der kan hjælpe mig??

Så jeg forstår hvad jeg skal gøre.....
:-)
Avatar billede miss-g Seniormester
21. oktober 2003 - 22:00 #12
Nå jeg finder selv ud af resten.
Avatar billede roenving Novice
21. oktober 2003 - 22:24 #13
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 22:28 #14
undskyld har du set mit eksempel lige oven over???
Du skal ikke i din skrive:
window.open("lion.htm","lion"," height=320,width=320,scrollbars");

men window.open(side,"popup"," height=320,width=320,scrollbars");
Så kan du bare kalde funktionen et eller andet sted fra hvor fx skriver:
<td width="84"><img src="Pictures%20rentegning/mini-lion-2.gif" width="70" height="70" border="0" onclick="openwindowlink('lion.htm');"></td>

--den åbner så et popup vindue med siden "lion.htm". Generelt kunne man skrive:
onclick="openwindowlink('sidenavn.htm');".

Jeg ved ikke hvorfor du så gerne vil skrive lion.htm oppe i selve funktionen, men hvis du kigger på eksemplet 16:53:54 - så kan du se hvordan det skal se ud...
Avatar billede roenving Novice
21. oktober 2003 - 22:45 #15
-- efter jeg havde trykket 'Udfør' opdagede jeg jo, at kravet om nye vinduer til hvert link jo ikke var opfyldt, men det kan vi jo sagtens klare med din udgave med faste størrelser:

window.open(side,side.substring(0,side.indexOf("."))," height=320,width=320,scrollbars");
Avatar billede roenving Novice
21. oktober 2003 - 22:46 #16
-- ellers kan mit script jo modificeres en anelse, så der også kommer et nyt windowname med hver !-)
Avatar billede miss-g Seniormester
22. oktober 2003 - 00:06 #17
Det lyder avanceret *G*

Men tak. Jeg skriver hvis jeg får brug for mere hjælp - fandt en løsning *S*
Avatar billede skovenborg Nybegynder
22. oktober 2003 - 00:10 #18
jeg håber du forstår ideen med de såkaldte parametre, det er en meget god ting at kunne når man laver javascript :-)

Jeg kan jo give et lille eksempel:
function foo(bar)
{
alert(bar)
}
foo("Hello World");
foo("Hej Verden");

Samme ide bruger jeg med dit popup script hvor der istedet for bar står side og som bruges til at vælge hvad for en side du vil åbne. Håber du kunne bruge det til noget :-)
Avatar billede miss-g Seniormester
22. oktober 2003 - 08:46 #19
Nej, forstår det ikke rigtigt. Men tak for interessen *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