Lukt niet: Onclick in javascript met audioplay

Status
Niet open voor verdere reacties.

Doopy

Nieuwe gebruiker
Lid geworden
23 jun 2014
Berichten
1
Hallo! Ik ben een beginner in javascript, en moet voor een opdracht een code schrijven. Blijkbaar ben ik er echt helemaal niet goed in..dus ik heb een beetje hulp nodig.

Mijn doel is om te beginnen: als je een afbeelding klikt, een geluid te horen. Tot nu toe lukt zelfs dit me niet.

Ik mag geen jquery gebruiken, en ook geen code in de html.

Ik heb al allerlei codes geprobeerd, ook hulp gevraagd, uiteindelijk kwam ik hier uit:

HTML:
var sansa = new Audio("sound/sansa-1.mp3");

var quote = function() {
sansa.play();
};

document.getElementById("sansa").onClick = quote();

Bij dit stukje snapt de console.log de onclick niet, dus speelt meteen het geluid af bij openen van de website.
Kan iemand mij uit de brand helpen?
 
Suggestie:

HTML:
var sansa = new Audio("sound/sansa-1.mp3");

function quote() {
  sansa.play();
}

document.getElementById("sansa").onClick = quote();
 
Het kan zijn dat het element met het id sansa nog niet gevonden wordt omdat je pagina nog niet helemaal geladen is op het moment dat je JavaScript code wordt uitgevoegd.
Je kunt dit afvangen door de code pas uit te voeren wanneer de pagina geladen is. Dit kan door body.onload te gebruiken
[js]
var sansa = new Audio("sound/sansa-1.mp3");

var quote = function() {
sansa.play();
};

body.onload = function(){
document.getElementById("sansa").onClick = quote();
}
[/js]

Het verschil tussen de manier waarop de functie gedefinieerd wordt (met of zonder var) maakt in deze situatie niet uit. zolang de variabele gedefinieerd wordt voordat de functie wordt aangeroepen gaan beide goed.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan