我一直以自己为“音板”,为在目录中找到的每个mp3文件填充自定义HTML5音频播放器。现在,它的所有功能都完全按照我的预期工作,但是当我尝试添加使用javascript的自定义计时器时,我的问题就开始了。
对于每个玩家,我都可以进行自定义控件并使变量都与类似的东西结合在一起
<audio id="player<?php echo $count1++;?>" src="audio/<?php echo rtrim($file, " "); ?>"></audio>
因此,使用PHP回声很多,以重复播放器和控件,但是具有新的ID,并且如上所述,这一切都很好用,但是当我尝试将其应用于javascript代码段时,我的问题就从这里开始++似乎有点像Pete Tong,当我期望1,2,3,4时会导致2,4,6,8或3,6,9,12
这里是有问题的js代码
// Get the audio element with id from variable
var count10 = "<?php echo $count10 ;?>";
var aud = document.getElementById("player" + count10);
// Assign an ontimeupdate event to the audio element, and execute a function if the current playback position has changed
aud.ontimeupdate = function() {myFunction()};
var count11 = "<?php echo $count11 ;?>";
function myFunction() {
// Display the current position of the audio in a p element with id from var
document.getElementById("time" + count11).innerHTML = aud.currentTime;
}
这是完整的页面代码:https://pastebin.com/3rXxHAHF
为了清楚,我的问题是添加了一个计时器,一旦您点击播放,该计时器应出现在每个播放/停止按钮下方,该计时器目前仅适用于我上面的pastebin代码中的第一个玩家实例。
我现在已经花了4-5个小时,除了尝试解决这个问题而不必在这里问问题,这已经不再有趣了!请帮助,非常感谢。
您可以使用foreach循环为您提供项目索引,而不是保留单独的计数来链接该项目,...>
所以当您这样做
foreach ($files as $file) {
您可以使用
foreach ($files as $id => $file) {
然后使用
echo $id;
在循环内以输出相应的ID。