0

我有一个允许嵌入 javascript 的 php 站点。我有一个在 IE 或 chrome 中无法正常工作的功能。你能看看它,如果有什么问题告诉我

 <script language="javascript" type="text/javascript">
//<![CDATA[
var counting = 0;
var totaltime;
var audio;
var timeout;
var settimer = 0;
var haystack = "|";
var needle;
function start_playing(a,b){ haystack = haystack+a+"|";
needle = a;
audio = document.getElementById(b);counting = counting + 1.0;   audio.play();
if(haystack.split(needle).length -1 >= 2){document.getElementById(a).value = "No Plays  Left";
document.getElementById(a).disabled = true;}else{document.getElementById(a).value = "Playing";
document.getElementById(a).disabled = true;totaltime = Math.round(audio.duration)*1000;
timeout = setTimeout("enable_button('"+a+"')",totaltime);}}function enable_button(a)   {document.getElementById(a).value ="Play"document.getElementById(a).disabled = false;}}
//]]>
</script>
<div>
<input id="PlayButton1" type="button" onclick="start_playing('PlayButton1','myTune1')" value="Play" /></div>
<audio id="myTune1" src="sound.mp3" type="audio/mp3"></audio>

可能是什么问题?它应该被点击,在歌曲播放期间禁用,然后启用自身。第二次播放后,它会说没有剩余的播放。

4

1 回答 1

0

我已经修改了你的代码。这应该工作

<script language="javascript" type="text/javascript">
//<![CDATA[
var counting = 0;
var totaltime;
var audio;
var timeout;
function start_playing(a,b){ 
    audio = document.getElementById(b);
    counting++;
    audio.play();
    if(counting == 2){
        document.getElementById(a).value = "No Plays Left";
        document.getElementById(a).disabled = true;
    }else{
        document.getElementById(a).value = "Playing";
        document.getElementById(a).disabled = true;
        totaltime = Math.round(audio.duration)*1000;
        timeout = setTimeout("enable_button('"+a+"')",totaltime);
    }
}

function enable_button(a){
    document.getElementById(a).value = "Play";
    document.getElementById(a).disabled = false;
}
//]]>
</script>
<div>
<input id="PlayButton1" type="button" onclick="start_playing('PlayButton1','myTune1')" value="Play" /></div>
<audio id="myTune1" src="sound.mp3" type="audio/mp3"></audio>

但仍有未使用的变量。请在下次提交答案之前格式化您的代码。

于 2013-07-30T15:36:04.830 回答