Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   При нажатии на картинку идет повтор мелодии, а нужно без повтора (https://javascript.ru/forum/project/77436-pri-nazhatii-na-kartinku-idet-povtor-melodii-nuzhno-bez-povtora.html)

Malikusa 04.05.2019 15:46

При нажатии на картинку идет повтор мелодии, а нужно без повтора
 
При нажатии на картинку включается музыка, если нажать второй раз происходит включение еще раз и получается двойная и тройная и четверная в зависимости сколько раз нажать. Подскажите как сделать, чтобы мелодия включалась только один раз и картинка была не активна до завершения мелодии?

Скорее всего работает от этого:

<script type="text/javascript" language="javascript">// <![CDATA[
function playAudio(soundfile, soundfile2) {
var audioElement = document.createElement('audio');
var sourceElement = document.createElement('source');
sourceElement.setAttribute('src', soundfile);
sourceElement.setAttribute('type', 'audio/ogg');
audioElement.appendChild(sourceElement);
sourceElement = document.createElement('source');
sourceElement.setAttribute('src', soundfile2);
sourceElement.setAttribute('type', 'audio/mpeg');
audioElement.appendChild(sourceElement);
audioElement.play();
}
// ]]&gt;</script>

Опан1 28.09.2019 22:56

Так получается, что при каждом клике на картинку создаётся новый элемент аудио. Представьте, кликнули 1000 раз - столько же появилось новых аудио. Может и оперативки не хватить. Нужно создать только один элемент по ходу загрузки страницы, а на клик по картинке повесить audio.play();


Часовой пояс GMT +3, время: 02:43.