在活动div上自动播放音频文件

时间:2018-06-21 07:38:30

标签: javascript html audio autoplay elementor

我在JS方面很糟糕,我已经尝试了数十种方法来使它起作用,但是似乎没有什么适合我。

当某些div元素具有“ elementor-active”类时,我希望AUDIO1文件能够播放,而AUDIO2文件会自动暂停,反之亦然。

任何帮助表示赞赏。

这是我的代码:

<div id="elementor-tab-title-1601" class="elementor-active">TAB 1</div><div id="elementor-tab-title-1602" class="">TAB 2</div>
<div id="TAB1" class="active" style="display: block;">
<audio id="AUDIO1" loop="loop">
<source src="http://localhost/test/wp-content/uploads/2018/06/audio1.ogg">
<source src="http://localhost/test/wp-content/uploads/2018/06/audio1.mp3" type="audio/mpeg">
</audio></div>
<div id="TAB2" class="">
<audio id="AUDIO2" loop="loop">
<source src="http://localhost/test/wp-content/uploads/2018/06/audio2.ogg">
<source src="http://localhost/grad/wp-content/uploads/2018/06/audio2.mp3" type="audio/mpeg">
</audio>
</div>

1 个答案:

答案 0 :(得分:0)

例如:

var audio_one = new Audio('PATH_TO_AUDIO_1');
var audio_two = new Audio('PATH_TO_AUDIO_2');

var timerId = setInterval(function() {
  if ($('YOUR_BLOCK_SELECTOR').hasClass('active')) {
    audio_one.play();
    audio_two.pause();
  } else {
    audio_one.pause();
    audio_two.play();
  }
}, 250);