Öppna popup-fönster från en textlänk |
![]() ![]() |
Variabler är inte mycket att ha, om man inte kan variera värdet på dem. Här skall vi deklarera en variabel som har en del av sina värden fastställda redan i javaskriptet, men får en del andra värden från den anropande textlänken. FörutsättningenMed hjälp av textlänkar vill du öppna sidor i olika småfönster, och du vill själv bestämma var fönstren skall öppnas, hur stora de skall vara och vilka egenskaper de skall ha. Du vill dessutom kunna variera de här förutsättningarna för olika länkar. Det här gör vi med ett enda litet skript som placeras i HEAD-elementet. Detta skript anropas sedan från de olika textlänkarna, som samtidigt talar om vilka egenskaper fönstren skall ha. Så här gör manMan öppnar ett nytt fönster med koden window.open(). I parentesen anger man i tur och ordning URL, namn och egenskaper för det nya fönstret. Vi gör en variabel som utför detta: |
visaNySida=window.open(url,nyNamn,egenskaper); |
Värdet på "url" kommer den här variabeln att få från textlänken, men "nyNamn" och egenskaper skall vi ange i skriptet: |
var nyNamn="nyaRutan"; |
var nyNamn="nyaRutan";
var egenskaper= ... egenskaper+= ... Om vi skulle utelämna plustecknet, fick variabeln "egenskaper" i stället nya värden som "kastade bort" de gamla. Man kan lägga alla egenskaperna i en enda lång rad, men skriptet blir lättare att läsa om man skiljer på dem som jag har gjort här: Varierande egenskaper i en rad och fast egenskaper i nästa. Tillåtna egenskaper och vad de gör Följande egenskaper anges i antal pixlar: top Anger antalet pixlar från skärmens överkant
till det nya fönstrets överkant Följande egenskaper anges som yes eller no, alternativt 1 eller 0: directories Anger om webbläsarens
verktygsrad skall visas Man kan utnyttja en eller flera av dessa egenskaper. De olika valen skiljs åt med kommatecken men utan mellanslag, och hela uppsättningen av egenskaper skrivs mellan citationstecken ["..."]. FunktionenFör att ha något att anropa från textlänken, stoppar vi nu in alltsammans i en funktion och placerar denna mellan SCRIPT-taggarna. Allt som är gemensamt för funktionen innesluts mellan klamrar { ... } och varje skriptrad avslutas med ett semikolon. |
<SCRIPT LANGUAGE="JavaScript"> |
function nyRuta(url,top,left,width,height,status) { Nu är själva skriptet färdigt och vi kan övergå till textlänkarna som skall anropa skriptet. Textlänkarna läggs som vanligt mellan BODY-taggarna och ser normalt ut så här: |
<A HREF="window1.html">Sidan 1</A> |
Men i stället för att anropa sidan window1.html direkt, skall vi anropa funktionen i HEAD. Vi ändrar länkkoden: |
<A HREF="javascript:nyRuta()">Sidan 1</A> |
Slutligen stoppar vi in de egenskaper som funktionen behöver, nämligen URL, fönstrets placering på skärmen, fönstrets storlek samt statusradens vara eller icke vara: |
<A HREF="javascript:nyRuta('window1.html',100,200,100,200,'no')">Sidan 1</A> eller <A HREF="javascript:nyRuta('window1.html',100,200,100,200,0)">Sidan 1</A> |
citationstecknen kring 'no' Vad
händer? Vill du styra fler eller färre egenskaper från textlänken, ändrar du på fyra ställen
Du vill öppna fler fönster från andra textlänkar men med samma skript. Därför gör du ytterligare en textlänk: |
<A HREF="javascript:nyRuta('window2.html',100,400,200,100,'yes')">Öppna sidan 2</A> eller <A HREF="javascript:nyRuta('window2.html',100,400,200,100,1)">Öppna sidan 2</A> |
Klickandet på den här länken öppnar ett fönster som innehåller sidan window2.html. Fönstret hamnar 100 pixlar från överkanten och 400 pixlar från vänsterkanten. Det blir 200 pixlar brett och 100 pixlar högt, och det visas med statusrad. Nu kan du fortsätta med hur många textlänkar du vill. Samtliga kan anropa den enda funktionen i HEAD och ta med sig egenskaperna från länken. Det var allt. Här kan du testa skriptet: |
![]() ![]() |
© SupportData.Net |