在 javascript 中使用 echo'd ++$value 作为 html5 音频播放器页面的一部分时出现问题
Problem when using echo'd ++$value in javascript as part of a html5 audio player page
我一直在为自己制作一个 'soundboard',它为在目录中找到的每个 mp3 文件填充自定义 HTML5 音频播放器。现在它的那一面完全按照我的预期工作,但是当我尝试添加一个使用 javascript.
的自定义计时器时,我的问题就开始了
对于每个玩家,我能够制作自定义控件并使变量都与诸如
之类的东西结合起来
<audio id="player<?php echo $count1++;?>" src="audio/<?php echo rtrim($file, " "); ?>"></audio>
所以使用 PHP 多次回显来重复播放器和控件,但使用新的 ID,如前所述,这一切都很好,但是当我尝试将相同的应用到 javascript 片段时,我我正在使用这是我的问题开始的地方,因为 ++ 似乎有点 Pete Tong,结果是 2、4、6、8 或 3、6、9、12,而我期待的是 1、2、3, 4
这里是有问题的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;
}
需要说明的是,我的问题是添加一个计时器,当您点击播放时,它应该出现在每个 play/stop 按钮下方,这目前仅适用于我上面的 pastebin 代码中的第一个播放器实例。
我现在已经花了 4-5 个小时无所事事,只是试图解决这个问题而不必在这里询问并且已经达到了它不再有趣的地步!请帮忙,非常感谢。
您可以使用 foreach 循环为您提供项目索引...
而不是对项目进行单独计数 link
所以当你
foreach ($files as $file) {
你可以使用
foreach ($files as $id => $file) {
然后使用
echo $id;
在循环里面输出对应的ID。
我一直在为自己制作一个 'soundboard',它为在目录中找到的每个 mp3 文件填充自定义 HTML5 音频播放器。现在它的那一面完全按照我的预期工作,但是当我尝试添加一个使用 javascript.
的自定义计时器时,我的问题就开始了对于每个玩家,我能够制作自定义控件并使变量都与诸如
之类的东西结合起来<audio id="player<?php echo $count1++;?>" src="audio/<?php echo rtrim($file, " "); ?>"></audio>
所以使用 PHP 多次回显来重复播放器和控件,但使用新的 ID,如前所述,这一切都很好,但是当我尝试将相同的应用到 javascript 片段时,我我正在使用这是我的问题开始的地方,因为 ++ 似乎有点 Pete Tong,结果是 2、4、6、8 或 3、6、9、12,而我期待的是 1、2、3, 4
这里是有问题的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;
}
需要说明的是,我的问题是添加一个计时器,当您点击播放时,它应该出现在每个 play/stop 按钮下方,这目前仅适用于我上面的 pastebin 代码中的第一个播放器实例。
我现在已经花了 4-5 个小时无所事事,只是试图解决这个问题而不必在这里询问并且已经达到了它不再有趣的地步!请帮忙,非常感谢。
您可以使用 foreach 循环为您提供项目索引...
而不是对项目进行单独计数 link所以当你
foreach ($files as $file) {
你可以使用
foreach ($files as $id => $file) {
然后使用
echo $id;
在循环里面输出对应的ID。