Как воспроизвести аудиофайл с помощью jQuery?
мне трудно получить аудио для работы с jQuery. Я пробовала .wav and .форматы ogg. (Firefox 19.0.2)
нажатием старт кнопка дает:
ошибку TypeError: зуммер.play не является функцией
Я не уверен, что селекторы jQuery возвращают массив, но я пробовал захватить аудиофайл с обоими:
var buzzer = $('buzzer');
и
var buzzer = $('buzzer')[0];
независимо от того, я не могу получить аудио элементы для воспроизведения.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
</head>
<body>
<audio id="buzzer" src="buzzer.ogg" type="audio/ogg">Your browser does not support the <audio> element.</audio>
<form id='sample' action="#" data-ajax="false">
<fieldset>
<input value="Start" type="submit">
</fieldset>
</form>
<script type="text/javascript">
var buzzer = $('buzzer')[0];
$(document).on('submit', '#sample', function() {
buzzer.play();
return false;
});
</script>
</body>
</html>
3 ответов
ты забыл хэш #
в свой ID-селектор :
var buzzer = $('#buzzer')[0];
$(document).on('submit', '#sample', function() {
buzzer.play();
return false;
});
и document.getElementById('buzzer')
кажется более подходящим!
Я бы изменил HTML на:
<audio id="buzzer" src="buzzer.ogg" type="audio/ogg"></audio>
<input type="button" value="Start" id="start" />
и у:
$('#start').on('click', function() {
$('#buzzer').get(0).play();
});
var buzzer = document.getElementById("buzzer");
вы также можете сделать это:
var buzzer = $('audio')[0];
и если id buzzer
- Это уникальная (как надо) вы также можете сделать это - не надо [0]
var buzzer = $('#buzzer');
вы используете идентификатор, чтобы пометить свой звуковой тег в HTML. Таким образом, вы должны добавить#, когда используете селектор.
var buzzer = $('#buzzer')[0];
кроме того, вы используете id для идентификации Вашего аудио, вы также можете определить свою ценность следующим образом:
var buzzer = $('#buzzer');
не добавлять [0],[0] означает, что вы получаете первый элемент.