JavaScript-soitin-demo

Tulos


Koodi

Tämä tulee HEAD-osastoon:

<script type="text/javascript">
//<![CDATA[
/*
 * Tunnus:          Javascript-soitin (ent. MIDI-soitin)
 * Tekijä:          Osmo Saarikumpu
 * Tehty:           2005-10-17
 * Tekijänoikeudet: Vapaasti käytettävissä
 */

var Apumuuttuja = 0;//kappaleiden kierrättämiseen
var Kappaleita = 3;//kappaleiden kokonaismäärä

/* Kappaleet sijoitetaan taulukkoon siten, että 
   seuraavassa ensimmäisen tiedostonimeksi tulee
   Kappaleet1.mid (Kappaleet1+piste+tiedostotunniste),
   seuraavan tiedostonimeksi tulee Kappaleet2.mid, jne.
   Lisää kappaleita samalla logiikalla... */

var Kappaleet = new Array();
Kappaleet[1] = "Bike";
Kappaleet[2] = "Lucifer Sam";
Kappaleet[3] = "Matilda Mother";

//edellinen- ja seuraava-rutiinit:

function Edellinen() {
 if (Apumuuttuja > 1) {
  Apumuuttuja = Apumuuttuja - 1;
  document.Soitin.Nimialue.value = Kappaleet[Apumuuttuja];
 }
 else if (Apumuuttuja <= 1) {
  Apumuuttuja = Kappaleita;
  document.Soitin.Nimialue.value = Kappaleet[Kappaleita];
 }
}

function Seuraava() {
 if (Apumuuttuja < Kappaleita) {
  Apumuuttuja = Apumuuttuja + 1;
  document.Soitin.Nimialue.value = Kappaleet[Apumuuttuja];
 }
 else if (Apumuuttuja == Kappaleita) {
  Apumuuttuja = 1;
  document.Soitin.Nimialue.value = Kappaleet[1];
 }
}

//soittofunktio:

function Soita() {
 //tarkastetaan kappaleen valinta:
 if (Apumuuttuja === 0) {
  alert('Valitse ensin kappale!');
 }
 //yhdistetään otsikko tiedostonimeen: 
 else {
  location.href = 'Kappaleet'+Apumuuttuja+'.mid';
  //huomaa vaihtaa tiedostotunniste, mikäli
  //soitat muita formaatteja (esim. '.mid' --> '.mp3') 
 }
}

//alustusfuntio:

function Palauta() {
 document.Soitin.Nimialue.value = 'Valitse kappale';
}
//]]>
</script>

BODY-elementti on seuraavanlainen:

<body onload="Palauta()">

Tämä tulee BODY-osastoon:

<form
 action="javascript:void('0');"
 name="Soitin">
<input
 type="button"
 value="Edellinen"
 onclick="Edellinen()" />
<input
 name="Nimialue"
 size="20"
 value="JavaScript-soitin"
 readonly="readonly"
 style="text-align:center" /> 
<input
 type="button"
 value="Seuraava"
 onclick="Seuraava()" />
<br />
<input
 type="button"
 value="Soita"
 onclick="Soita()" />
</form>

Mallikappaleet zipattuna (11kt).

Weppipakin kotisivulle