© ilj ilj@flowsim.se
JavaScript på svenska 46
JavaScript onMouseDown & onMouseUp (klicka på knappen!)

0


 
Placera följande där knappen ska vara:
 

<A HREF = "
URL"
      onMouseDown="
iljtry(0,1);return false"
      onMouseUp ="
iljtry(0,0)"
      onMouseOut="
iljtry(0,0)">
<IMG SRC= "
första bildenfilen"
      WIDTH = "
bredd i pixel"
      HEIGHT = "
höjd i pixel"
      BORDER = "
0"></A>
 
När muspekaren befinner sig över knappbilden och musknappen trycks ned anropas alltså funktionen iljtry() som ser till att knappbilden byts ut mot en bild av en intryckt knapp. Siffrorna inom parentes håller reda på VAR bilder ska bytas resp VILKEN bild som ska visas.
 
Funktionen och den kodbit som ser till att bilderna förladdas placeras i HEAD-delen och ser ut så här:
 

<SCRIPT LANGUAGE="
JavaScript"
      TYPE="
text/javascript">
<!--

if(document.images) //1
{
      bild = new Array()
      bild[0]= new Image()
      bild[1]= new Image()
      bild[0].src= "bildfilens namn: ej nedtryckt knapp"
      bild[1].src= "bildfilens namn: nedtryckt knapp"
}
function iljtry(platsnummer,bildnummer) //2
{
      if(document.images)
      {
      document.images[platsnummer].src = bild[bildnummer].src//3
      }
}
//
-->
</SCRIPT>
 
1 Ingenting kommer att hända om inte onmousedown/up och bildväxling fungerar i den webbläsare som används.
Om bildväxling alltså är OK, så förladdas bilderna. Använder man flera bilder är det bara att fortsätta med
bild[3] etc (om man använder en loop slipper man skriva så mycket, se JavaScript 16.)
 
2 Anropet efter
onMouseDown ser ut så här:
 
iljtry(0,1)
 
Siffrorna inom parentes är argument eller parametrar som skickas till funktionen. I det här exemplet är de två och håller alltså reda på var bilder ska bytas och vilken bild som ska visas. Så här fungerar det:
 
Funktionens
platsnummer ersätts alltså med 0 och bildnummer med 1. Den rad (fotnot 3) som byter bilderna kan då läsas:
 
document.images[0].src = bild[1].src
 
dvs,
visa - på sidans första bild(plats) - den bildfil som angetts efter
bild[1].src !
 
document.images[0].src är alltid dokumentets första bild, document.images[1].src dess andra bild.
 
Om man alltså till exempel på ett dokuments fjärde bildplats vill visa en bild som man förladdat som
bild[8], måste man alltså skicka med argumenten 3 och 8. Anropet kommer då att se ut
 
iljtry(3,8)
 
Man kan förstås ge bilden ett namn (NAME) och använda det istället.
 
Istället för att använda en bild kan man skapa en knapp med hjälp av en stilmall.

 

Sidan gjordes av
 
ilj
 
ilj@flowsim.se
 

 
Senast ändrad 5 augusti 1998.
 
Den här sidan hör hemma i ett ramsystem
hos:
www.flowsim.se