Приветствую.
Решил сделать проигрыватель радио на сайте. В JS не силён, потому пришлось писать с нуля, используя различные источники. В конечном итоге получилось примерно следующее:
function playAudio(){
var play = document.getElementById("play");
var pause = document.getElementById("pause");
var audio = document.createElement('audio');
audio.src = 'адрес_потока';
if(pause != null){
audio.play();
document.getElementById("pause").remove();
var div = document.createElement('div');
div.className = "d5";
div.setAttribute("id", "play");
document.querySelector(".d1").appendChild(div);
var div2 = document.createElement('div');
div2.className = "d5-2";
div2.setAttribute("id", "play");
document.querySelector(".d1").appendChild(div2);
}
else if(play != null){
audio.pause();
document.getElementById("play").remove();
document.getElementById("play").remove();
var div = document.createElement('div');
div.className = "d6";
div.setAttribute("id", "pause");
document.querySelector(".d1").appendChild(div);
}
}
HTML-код:
<div class="d1" OnClick="playAudio();">
<div class="d6" id="pause"></div>
</div>
Всё функционирует в полном объёме, за исключением паузы (audio.pause();). Выполняется весь код, указанный в условии, но данный фрагмент будто уходит из виду. После повторного нажатия на кнопку запускается ещё один поток "поверх" предыдущего.
Буду благодарен, если подскажете, где может быть ошибка.
Когда вызывается playAudio
и сколько раз?
Это зачем var audio = document.createElement('audio');
?
Второй вызов document.getElementById("play").remove();
подряд - интересно что будет делать?
Подсказываю, где может быть ошибка.
Событие click
- всплывающее, то есть нажатие на div
-ы play
и pause
будет вызывать обработку щелчка и у родителя - div class="d1"
. Cледовательно, функция playAudio
будет вызываться снова, создавая каждый раз новый var audio = document.createElement('audio');
.
Ты проверяешь не правильно. В условии IF пропиши не if(pause != null), а так if (audio.paused == true) и должно все работать
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеХочу переписать скрипт, используя конструкцию:
Положим, что всплывающие окна на сайте НЕ блочатсяP
Есть страничка с картинкой размером x на у пикселейЕсли пользователь попал мышкой в область на картинке с координатами допустим x1+-10 на y1+-10...
А как можно сделать конструктор виньеток? Ну чтобы пользователь мог выбирать шаблон виньетки и добавлял фото учащихся и имя тд