© ilj ilj@flowsim.se
JavaScript på svenska - FAQs el vanliga frågor

FAQS
Frequently Asked Questions
VANLIGA FRÅGOR
?

 
1 hur får man text att ändras när man för muspekaren över den?
2 kan man tvinga fram radbrytningar i alert-fönstret?
3 hur stänger man ett fönster?
4 hur laddar man nya sidor i flera ramar samtidigt?
5 vad betyder uttryck av typen
t2 = (t1>10) ? "OK!":"Retry!" ?

6 länk i en ram, bildväxling i en annan


1 Det sätt som fungerar i flest webbläsare är att placera texten på en bild och byta bild vid onmouseover resp onmouseout. Det fungerar i Netscape Navigator fr o m version 3 och i Microsofts Internet Explorer fr o m version 4. Exempel på sådan bildbytarkod finns under 12.

 
JavaScript onmouseover

 
Två bilder alltså. Så här ser de ut:
JavaScript onmouseover JavaScript onmouseover
 
Man kan också använda stilmallar och javascript för att få texten att förändras.
 

2 Ja, använd \n, så här:
alert("första raden \nandra raden")
 
ALERT MED RADBRYTNING!

 

3 Använd t ex self.close(), window.close() eller close() som alla stänger det aktuella fönstret. I buggfria webbläsare ska det inte gå att stänga fönster hur som helst. Om fönstret öppnats med window.open är det förstås OK att stänga det, försöker man däremot stänga något annat fönster ska användaren ha en chans att avvärja det - en prompt visas.
 

4 Man kan till exempel använda följande funktion:

 
function iljload()
{
   FRAMENAME.window.location= "ensida.html"
   FRAMENAME.window.location= "enannansida.html"
}

 
FRAMENAME byts ut mot aktuellt namn, dvs det namn man gett ramen i FRAMESET-taggarna. Syftar man uppåt i ramsystemet kan man använda parent före FRAMENAME.
Funktionen kan anropas t ex så här:
<A HREF="
javascript:iljload()">nya sidor</A>
 
Här en variant där filnamnen följer med som argument:
 
function iljload2(filnamn1,filnamn2)
{
   FRAMENAME.document.location= filnamn1
   FRAMENAME.document.location= filnamn2
}

 
Den här funktionen kan anropas t ex så här:
<A HREF="
javascript:iljload2('new1.html','new2.html')">nya sidor</A>
 

 

5 Ett annat exempel:
temperatur = (grader<0) ? "minusgrader":"plusgrader"
Samma sak kan också skrivas:
 
if(grader<0)
temperatur="minusgrader"
else
temperatur="plusgrader"

 
Principen är
minvariabel=(villkor) ? varde1 : varde2
dvs, om villkoret är uppfyllt antar minvariabel värdet av varde1, om villkoret inte är uppfyllt antar minvariabel värdet av varde2.
 

6 Lägg bara till ramens namn före den vanliga koden, t ex
 
parent.FRAMENAME.document.bildplats1.src="bild.gif"
 
där FRAMENAME byts ut mot det namn som angetts i FRAMESET-taggarna.

 

 

 

Sidan gjordes av
 
ilj
 
ilj@flowsim.se
 

 
Senast ändrad 23 januari 1999.
 
Den här sidan hör hemma i ett tredelat ramsystem hos
http://www.flowsim.se