2015-12-16 4 views
0

Я создаю звуковую дорожку jQuery/PHP, и я пытаюсь выяснить, как код, если я нажму кнопку ONE, который останавливает звук HTML5, прикрепленный ко всем другим кнопкам , Вот мой код до сих пор:jQuery Soundboard - кнопка ONE отключает все остальные кнопки

Jquery:

$(function() { 
      $("audio").removeAttr("controls").each(function(i, audioElement) { 
       var audio = $(this); 
       var that = this; //closure to keep reference to current audio tag 
       $("#doc").append(
        $('<button>'+audio.attr("title")+'</button>').toggle(
         function() { 
          that.play(); 
          $(this).addClass('playing'); 
         }, 
         function(){ 
          that.pause(); that.currentTime = 0; 
          $(this).removeClass('playing'); 
         })); 
      }); 
     }); 
    </script> 

PHP:

<?php foreach($files as $file) { ?> 
    <?php $title = str_replace(".mp3", "", str_replace("clips/", "", $file)); ?> 
    <audio src="<?php echo $file; ?>" controls autobuffer="true" title="<?php echo $title ?>"></audio> 
<?php } ?> 

ответ

0

Модифицированный JQuery:

$('<button>'+audio.attr("title")+'</button>').click(
    function(e) { 
     var playing = $(this).hasClass("playing"); 
     $("audio").each(function(i, audioElement){ 
     this.pause(); 
     this.currentTime = 0; 
     }); 

     $("button").each(function(i) { 
     $(this).removeClass('playing'); 
     }); 

     if (!playing){ 
     that.play(); 
     $(this).addClass('playing'); 
     } 
    }) 
); 
$("audio").bind("ended", function(){ $("button").removeClass('playing'); }); 

Объяснение:

Когда вы нажимаете любую кнопку, она объявляет переменную IF, если кнопка имеет класс PLAYING. Затем он автоматически останавливает все аудио и перематывает их на 0. Затем он удаляет форму класса PLAYING каждую кнопку. Наконец, он проверяет, есть ли кнопка, которую вы просто нажимаете, имеет класс PLAYING; если это не так, то добавляет класс PLAYING к кнопке и воспроизводит звук, прикрепленный к этой кнопке.

Добавленная линия на дне пожаров, когда звук делается играть, класс ИГРАТЬ автоматически удаляется

Смежные вопросы