Как отключить звук при открытии окна
Добрый вечер. Такая проблема. При поступлении заказа, включается музыка, нужно сделать чтобы при открытии окна ЦРМ, музыка отключалась. Вот код:
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, время: 03:42. |