【问题标题】:play pause button to toggle button播放暂停按钮切换按钮
【发布时间】:2019-06-25 14:52:42
【问题描述】:

请帮帮我,将播放/暂停按钮改为一个切换按钮 意味着一次单击音频是播放第二次单击然后音频是暂停图标更改。提前谢谢

.d-table {
  display:table !important;
}

.d-table-cell {
  display:table-cell !important;
}

.w-100 {
  width: 100% !important;
}


.tar {
  text-align: left !important;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class=" d-table w-100">
<p class="d-table-cell">بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ</p>
  <div class="d-table-cell tar w-10">
 <audio id="player2" src="http://www.mp3naat.com/download/owais-raza-qadri/mustafa-jaan-e-rehmat.mp3"></audio>    
<a onclick="document.getElementById('player2').play()"><i  class="fa fa-play-circle-o fa-2x"></i></a>
<a onclick="document.getElementById('player2').pause()"><i  class="fa fa-pause-circle-o fa-2x"></i></a> 
  </div>
</div>

【问题讨论】:

标签: javascript html css audio html5-audio


【解决方案1】:

试试这个。它会在点击时切换以及播放和暂停

var play = false;
var audio=document.getElementById('player2');
function toggle() {
  if (play) {
    audio.pause()
  } else {
    audio.play();
  }
};
audio.onplaying = function() {
  play = true;
};
audio.onpause = function() {
  play = false;
};
$(".w-10 >a> #a").click(function(){$(this).toggleClass("fa-play-circle-o fa-pause-circle-o")})
.d-table {
  display:table !important;
}

.d-table-cell {
  display:table-cell !important;
}

.w-100 {
  width: 100% !important;
}


.tar {
  text-align: left !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class=" d-table w-100">
<p class="d-table-cell">بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ</p>
  <div class="d-table-cell tar w-10">
 <audio id="player2" src="http://www.mp3naat.com/download/owais-raza-qadri/mustafa-jaan-e-rehmat.mp3"></audio>    
<a onclick="toggle()"><i id="a" class="fa fa-play-circle-o fa-2x"></i></a>
  </div>
</div>

【讨论】:

  • 当我们在一个页面中添加 6-7 个音频时,我们会更改每个音频的音频源,但是当点击播放时,每个按钮上只播放一个音频参见示例 islahemuashra.com/?page_id=5
  • 检查编辑,将每个音频元素放在单独的 div 中。它会工作
  • 你能举个例子吗
  • 这里音频元素放置在类 w-10 的 div 中,因此使用的选择器是 .w-10 &gt;a&gt; #a。当它在 w-11 类的 div 中时,选择器将是 .w-11 &gt;a&gt; #a 依此类推
  • 没用,我有 15000 个音频,这意味着我必须在 java 脚本中添加 15000 行?
【解决方案2】:

像这样改变你的 html

<div class=" d-table w-100">
<p class="d-table-cell">بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ</p>
  <div class="d-table-cell tar w-10">
 <audio id="player2" src="http://www.mp3naat.com/download/owais-raza-qadri/mustafa-jaan-e-rehmat.mp3"></audio>    
<a id="toggle-button"><i id="icons" class="fa  fa-play-circle-o fa-2x"></i></a>

  </div>
</div>

和 javascript

<script>
   var count =0;
    document.getElementById("toggle-button").onclick = function() {

    console.log("hello");
        if(count%2==0){
            document.getElementById("player2").play();
            document.getElementById("icons").classList.remove("fa-play-circle-o");
            document.getElementById("icons").classList.add("fa-pause-circle-o");
        }else{
            document.getElementById("player2").pause();
            document.getElementById("icons").classList.add("fa-play-circle-o");
            document.getElementById("icons").classList.remove("fa-pause-circle-o");
        }

        count++;
    }

</script>

【讨论】:

  • 当我们在一个页面中添加 6-7 个音频时,我们会更改每个音频的音频源,但是当单击播放时,每个按钮上只播放一个音频参见示例 islahemuashra.com/?page_id=5
猜你喜欢
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 2019-03-01
相关资源
最近更新 更多