Как отключить звук при открытии окна
Добрый вечер. Такая проблема. При поступлении заказа, включается музыка, нужно сделать чтобы при открытии окна ЦРМ, музыка отключалась. Вот код:
if(data.orders.length>0){
if(mode==1){$('.table_box').html('');}
$.each(data.orders,function(i,item){
if(!window.crm.orderExist(item.ID)){
window.crm.renderOrder(item,mode);
if(mode==0){
$('.new_order_sound')[0].play();
}
}
});
}else{
$('.table_box').html('Ничего не найдено');
}
<audio class="new_order_sound">
<source src="<?=$curDir?>/static/ding.ogg" type='audio/ogg; codecs=vorbis'>
</audio>
|
Или может при клике, даже не знаю, как реализовывается подобное. Гуглила.
|
SnezhanaLast,
Без полноценного примера не совсем понятно. Но за проигрывание отвечает метод play(), за паузу / не проигрывание - метод pause(). |
Может как-то можно кнопке сделать метод pause() в моем случае? Могу выложить кусок кода побольше. :)
|
Написала вверх JS:
HTMLAudioElement.prototype.stop = function()
{
this.pause();
this.currentTime = 0.0;
}
Но когда прописываю кнопке:
onclick="document.getElementById("ding").stop()"
JS перестает работать. |
SnezhanaLast,
выложите live пример. С ним смогу попробовать помочь. |
Alexander Belov, Если совсем упростить задачу:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
HTMLAudioElement.prototype.stop = function()
{
this.pause();
this.currentTime = 0.0;
}
$(function () {
$('.new_order_sound')[0].play();
});
</script>
</head>
<body>
<audio id="ding" class="new_order_sound">
<source src="http://upload.wikimedia.org/wikipedia/commons/5/59/C_major_scale.ogg" type='audio/ogg; codecs=vorbis'>
</audio>
<input type="button" onclick="document.getElementById("ding").stop();" value="Отключить">
</body>
</html>
|
SnezhanaLast,
Как и писал выше, если по умолчанию нужно, чтобы мелодия не проигрывалась, меняйте $('.new_order_sound')[0].play(); на $('.new_order_sound')[0].pause(); Если по клику, то привязываете к нажатию button функцию $("button").on("click", function(){ $(".new_order_sound")[0].pause(); }); Не разобрался, как вставлять JQuery код сюда, потому сторонний пример |
Alexander Belov, Попробовала, нужно действительно, чтобы по клику останавливалась мелодия. Но код не ставит музыку на паузу, а не на стоп.
|
SnezhanaLast,
если Вы пропишите изначально pause() при загрузке кода, то музыка не будет проигрываться изначально. Два метода: play() (= проигрывать) и pause() (= не проигрывать). |
| Часовой пояс GMT +3, время: 23:42. |