Avatar billede clevzter Nybegynder
28. december 2001 - 14:08 Der er 11 kommentarer og
1 løsning

Mit script virker ik!

Jeg har lavet et script, som skal tænde og slukke for musikken på min hjemmeside. Kan ik få det til at virke.

Hvad er der galt?

<HTML>
<HEAD>
<script language=\"JavaScript\">

function musicOff() {
document.melodi.stop()
}

function musicOn() {
document.melodi.play()
}

function changeImg() {
  if (document.onoff.src=\"off.gif\") {
  document.onoff.src=\"on.gif\"; musicOff();
  }
else if (document.onoff.src=\"on.gif\") {
  document.onoff.src=\"off.gif\"; musicOn();
  }
}

</script>
</HEAD>

<BODY><embed name=\"melodi\" src=\"melodi.wav\" hidden=\"true\" loop=\"true\"></embed>

<img src=\"off.gif\" width=\"100\" height=\"100\" name=\"onoff\" onClick=\"changeImg();\">

</BODY>

</HTML>
Avatar billede nikolajdu Nybegynder
28. december 2001 - 14:09 #1
function changeImg() {
  if (document.onoff.src==\"off.gif\") {
  document.onoff.src=\"on.gif\"; musicOff();
  }
else if (document.onoff.src==\"on.gif\") {
  document.onoff.src=\"off.gif\"; musicOn();
  }
}
Avatar billede nikolajdu Nybegynder
28. december 2001 - 14:10 #2
document.onoff.src=\"off.gif\" // sætter en variabel
document.onoff.src==\"off.gif\" // tjekker en variabel
Avatar billede clevzter Nybegynder
28. december 2001 - 14:13 #3
Nu vil den ik engang skifte billedet.
Avatar billede clevzter Nybegynder
28. december 2001 - 14:14 #4
Jeg havde også oprindeligt brugt == men det virker ik.
Avatar billede clevzter Nybegynder
28. december 2001 - 14:19 #5
Problemet er, at ved første klik skifter billedet og musikken stopper, men ved andet klik sker der intet.
Avatar billede clevzter Nybegynder
28. december 2001 - 14:32 #6
andre forslag...?
Avatar billede jakoba Nybegynder
29. december 2001 - 00:02 #7
Det er højes forskelligt hvilke plugins der supporterer de der play og stop funktioner. (og også afhængigt af den browser der bruges). så du kan ikke rigtig stole på dem medmindre du har fuld kontrol med brugernes udstyr (fx på et intranet).

Så lav et alternativ. fx:

var musiVin = null;

function musicOn() {
  if ( document.melodi.play ) {    // hvis funktionen findes
      document.melodi.play();      // bruger vi den
  } else {
      if ( !musiVin || !musiVin.document )
          musiVin = window.open( \"\", \'musak\', \'width=100,height=65\' );
      musiVin.document.open(\'text/html\',replace);
      musiVin.document.write(\'<embed name=\"melodi\" src=\"melodi.wav\" autostart=\"true\" loop=\"true\"></embed>\');
      musiVin.document.close();
      musiVin.focus()
}

function musicOn() {
    if ( document.melodi.stop ) {    // hvis funktionen findes
        document.melodi.stop();      // bruger vi den
    } else
    if ( musiVin && musiVin.document ) {
        musiVin.document.open(\'text/html\',replace);
        musiVin.document.write(\'stoppet\');
        musiVin.document.close();
        musiVin.blur();
    }
}


mvh JakobA
Avatar billede jakoba Nybegynder
29. december 2001 - 00:04 #8
Ups. nederste funktion skal naturligvis hedde musicOff
Avatar billede clevzter Nybegynder
29. december 2001 - 13:03 #9
Jeg kan ik få det til at virke. Har rettet musicOff og sat et } til sidst.
Avatar billede jakoba Nybegynder
30. december 2001 - 03:15 #10
Ups. den } havde jeg glemt. den skal ftå for enden af den \'verste funktion, ikke helt forenden:

var musiVin = null;

function musicOn() {
  if ( document.melodi.play ) {    // hvis funktionen findes
      document.melodi.play();      // bruger vi den
  } else {
      if ( !musiVin || !musiVin.document )
          musiVin = window.open( \"\", \'musak\', \'width=100,height=65\' );
      musiVin.document.open(\'text/html\',replace);
      musiVin.document.write(\'<embed name=\"melodi\" src=\"melodi.wav\" autostart=\"true\" loop=\"true\"></embed>\');
      musiVin.document.close();
      musiVin.focus()
  }
}

function musicOff() {
    if ( document.melodi.stop ) {    // hvis funktionen findes
        document.melodi.stop();      // bruger vi den
    } else
    if ( musiVin && musiVin.document ) {
        musiVin.document.open(\'text/html\',replace);
        musiVin.document.write(\'stoppet\');
        musiVin.document.close();
        musiVin.blur();
    }
}

mvh JakobA
Avatar billede clevzter Nybegynder
30. december 2001 - 17:17 #11
Det funger stadig ik...
Avatar billede clevzter Nybegynder
10. juni 2002 - 15:00 #12
så snupper jeg dem selv
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