js变量赋值问题
以下代码为正常代码,能运行并发出声音<!DOCTYPEhtml><html><body><selectid="myst1"name="myst1"style="width...
以下代码为正常代码,能运行并发出声音
<!DOCTYPE html>
<html>
<body>
<select id="myst1" name="myst1" style="width:70px;" >
<option value="hou">hou</option>
</select>
<input name="audioBox3" type="button" id="audioBox3" onClick="play3()" value="播放音乐"/>
<script type="text/javascript">
function play3(){
var arr = ["/music/hou.mp3"]
var myAudio3 = new Audio();
myAudio3.preload = true;
myAudio3.controls = true;
myAudio3.src = arr.pop();
myAudio3.play();
function playEndedHandler3(){
myAudio3.src = arr.pop();
myAudio3.playbackRate=1;
myAudio3.play();
console.log(arr.length);
!arr.length && myAudio3.removeEventListener('ended',playEndedHandler3,false);
}
}
</script>
</body>
</html>
我将代码修改为这样,为什么不能发出声音呢
<!DOCTYPE html>
<html>
<body>
<select id="myst1" name="myst1" style="width:70px;" >
<option value="hou">hou</option>
</select>
<input name="audioBox3" type="button" id="audioBox3" onClick="play3()" value="播放音乐"/>
<script type="text/javascript">
function play3(){
var a = document.getElementById("myst1").value;
var arr = '["/music/'+a+'.mp3"]'
var myAudio3 = new Audio();
myAudio3.preload = true;
myAudio3.controls = true;
myAudio3.src = arr.pop();
myAudio3.play();
function playEndedHandler3(){
myAudio3.src = arr.pop();
myAudio3.playbackRate=1;
myAudio3.play();
console.log(arr.length);
!arr.length && myAudio3.removeEventListener('ended',playEndedHandler3,false);
}
}
</script>
</body>
</html>
修改的部分为:
将原来的 var arr = ["/music/hou.mp3"]
修改为
var a = document.getElementById("myst1").value;
var arr = '["/music/'+a+'.mp3"]'
请问是什么原因,怎么解决?感谢! 展开
<!DOCTYPE html>
<html>
<body>
<select id="myst1" name="myst1" style="width:70px;" >
<option value="hou">hou</option>
</select>
<input name="audioBox3" type="button" id="audioBox3" onClick="play3()" value="播放音乐"/>
<script type="text/javascript">
function play3(){
var arr = ["/music/hou.mp3"]
var myAudio3 = new Audio();
myAudio3.preload = true;
myAudio3.controls = true;
myAudio3.src = arr.pop();
myAudio3.play();
function playEndedHandler3(){
myAudio3.src = arr.pop();
myAudio3.playbackRate=1;
myAudio3.play();
console.log(arr.length);
!arr.length && myAudio3.removeEventListener('ended',playEndedHandler3,false);
}
}
</script>
</body>
</html>
我将代码修改为这样,为什么不能发出声音呢
<!DOCTYPE html>
<html>
<body>
<select id="myst1" name="myst1" style="width:70px;" >
<option value="hou">hou</option>
</select>
<input name="audioBox3" type="button" id="audioBox3" onClick="play3()" value="播放音乐"/>
<script type="text/javascript">
function play3(){
var a = document.getElementById("myst1").value;
var arr = '["/music/'+a+'.mp3"]'
var myAudio3 = new Audio();
myAudio3.preload = true;
myAudio3.controls = true;
myAudio3.src = arr.pop();
myAudio3.play();
function playEndedHandler3(){
myAudio3.src = arr.pop();
myAudio3.playbackRate=1;
myAudio3.play();
console.log(arr.length);
!arr.length && myAudio3.removeEventListener('ended',playEndedHandler3,false);
}
}
</script>
</body>
</html>
修改的部分为:
将原来的 var arr = ["/music/hou.mp3"]
修改为
var a = document.getElementById("myst1").value;
var arr = '["/music/'+a+'.mp3"]'
请问是什么原因,怎么解决?感谢! 展开
3个回答
展开全部
原来是数组 你给改成字符了 肯定不行啊
原来
var arr = ["/music/hou.mp3"]
你的
var arr = '["/music/'+a+'.mp3"]'
原来
var arr = ["/music/hou.mp3"]
你的
var arr = '["/music/'+a+'.mp3"]'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成这样就可以了
var arr = ['/music/'+a+'.mp3'];
var arr = ['/music/'+a+'.mp3'];
追问
按你的改了,还是不行
追答
假如你原来那个html可以正常运行 改成我这样一定可以 我试过了
假如 音频文件在html文件目录的music子目录 改成这样 var arr = ['music/'+a+'.mp3'];
你可以改完后 清理一下浏览器缓存 再试试
如果还是不行 把你这个音频文件的的路径 和 改完之后的html贴上来给我看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
arr 是 array 不是 string
var arr = [ "/music/"+a+".mp3" ]
var arr = [ "/music/"+a+".mp3" ]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |