Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.04.2016, 17:25
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Как отключить звук при открытии окна
Добрый вечер. Такая проблема. При поступлении заказа, включается музыка, нужно сделать чтобы при открытии окна ЦРМ, музыка отключалась. Вот код:
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>
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2016, 19:09
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Или может при клике, даже не знаю, как реализовывается подобное. Гуглила.
Ответить с цитированием
  #3 (permalink)  
Старый 13.04.2016, 20:48
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

SnezhanaLast,
Без полноценного примера не совсем понятно. Но за проигрывание отвечает метод play(), за паузу / не проигрывание - метод pause().
Ответить с цитированием
  #4 (permalink)  
Старый 13.04.2016, 21:28
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Может как-то можно кнопке сделать метод pause() в моем случае? Могу выложить кусок кода побольше.
Ответить с цитированием
  #5 (permalink)  
Старый 13.04.2016, 22:33
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Написала вверх JS:
HTMLAudioElement.prototype.stop = function()
{
	this.pause();
	this.currentTime = 0.0;
}

Но когда прописываю кнопке:
onclick="document.getElementById("ding").stop()"

JS перестает работать.

Последний раз редактировалось SnezhanaLast, 13.04.2016 в 22:48. Причина: Ошиблась
Ответить с цитированием
  #6 (permalink)  
Старый 13.04.2016, 22:43
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

SnezhanaLast,
выложите live пример. С ним смогу попробовать помочь.
Ответить с цитированием
  #7 (permalink)  
Старый 13.04.2016, 22:55
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

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, 13.04.2016 в 23:02. Причина: Не могу воспроизвести :(
Ответить с цитированием
  #8 (permalink)  
Старый 13.04.2016, 23:19
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

SnezhanaLast,
Как и писал выше, если по умолчанию нужно, чтобы мелодия не проигрывалась, меняйте
$('.new_order_sound')[0].play(); на $('.new_order_sound')[0].pause();

Если по клику, то привязываете к нажатию button функцию
$("button").on("click", function(){
$(".new_order_sound")[0].pause();
});


Не разобрался, как вставлять JQuery код сюда, потому сторонний пример
Ответить с цитированием
  #9 (permalink)  
Старый 14.04.2016, 08:49
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Alexander Belov, Попробовала, нужно действительно, чтобы по клику останавливалась мелодия. Но код не ставит музыку на паузу, а не на стоп.
Ответить с цитированием
  #10 (permalink)  
Старый 14.04.2016, 09:20
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

SnezhanaLast,
если Вы пропишите изначально pause() при загрузке кода, то музыка не будет проигрываться изначально.
Два метода: play() (= проигрывать) и pause() (= не проигрывать).
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация картинок с удалением, при выходе за пределы окна браузера Delagardi jQuery 3 13.05.2016 16:39
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
.remove для родителя возникает и при клике на потомка. Как отключить? arachnoz jQuery 3 05.07.2013 17:43
Два блока div разъезжаются при скроллинге окна браузера. call007 jQuery 0 03.04.2011 16:21
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06