Я создал аудиоплеер html5 с ограниченной функцией цикла, но мне не удается сохранить эту функциональность, когда я хочу заменить аудиоплеер кнопками и добавить к ним обработчик событий. В этом примере флажок должен быть проверен, и необходимо выбрать вторую опцию selectmenu, прежде чем повторять функцию. Как-то функция repeat перестает работать, когда я добавляю: «document.getElementById (« Play »). AddEventListener (« click », myFunction);». Если я удалю его, код работает, но только тогда, когда я сам использую сам аудиоплеер html. Мой код:html5 audio addeventhandler
<!DOCTYPE html>
<html>
<body>
<span style="font-family:arial; font-size:16px;"><b>Pre:</b></span>
<input id="precount" type="checkbox"><br><br>
<span style="font-family:arial; font-size:16px;"><b>Repeat:</b></span>
<select>
<option id="ok1">1x</option>
<option id="ok2">2x</option>
<option id="ok3">3x</option>
</select><br><br>
<audio id="myAudio" controls>
<source src="http://u1259p183.web0080.zxcs.nl/jQuery.mmenu-master/demo/sortablemenumobile/range_items/audio_notes/10_a.mp3">
</audio>
<script>
function PlaySound(soundobj) {
var thissound=document.getElementById(soundobj);
thissound.play();
}
function PauseSound(soundobj) {
var thissound=document.getElementById(soundobj);
thissound.pause();
}
</script>
<form>
<input type="button" value="PlaySound" id="Play">
<input type="button" value="PauseSound" id="Pause">
</form>
<script>
document.getElementById("Play").addEventListener("click", function);
var loopLimit = 2;
var loopCounter = 0;
var aud = document.getElementById("myAudio");
aud.onended = function() {
if ((loopCounter < loopLimit) && (document.getElementById("ok2").selected==true) &&(document.getElementById("precount").checked==true)){
this.currentTime = 0;
this.play();
loopCounter++;
}
};
</script>
</body>
</html>
Любой синтаксис в консоли? – Rayon
'.addEventListener (« click », function);' это синтаксическая ошибка, вы не можете использовать ключевое слово 'function' там, как это, если вы не сделаете определение функции, то есть' function() {} ' –