有关javascript的一个小问题(在线等)
<html><head><title>Greeting-Basic</title><metahttp-equiv=&...
<html>
<head>
<title> Greeting - Basic </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language=javascript>
var i=0;
function plays(){
if(i==0){document.a.play();i++;}
else { document.a.pause();i--;}
}
</script>
</head>
<body>
<embed name=a src="c:/a.mp3" loop=false autostart=false mastersound hidden=true
width=0 height=0> </embed>
<a href="#" onClick="plays()"> 播放/暂停 </a> <br> <br>
</body> </html>
上面程序的功能是点击"播放/暂停"按钮会听到一段声音,但我有n个"播放/暂停"按钮,可否把plays方法写成一个通法? 展开
<head>
<title> Greeting - Basic </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language=javascript>
var i=0;
function plays(){
if(i==0){document.a.play();i++;}
else { document.a.pause();i--;}
}
</script>
</head>
<body>
<embed name=a src="c:/a.mp3" loop=false autostart=false mastersound hidden=true
width=0 height=0> </embed>
<a href="#" onClick="plays()"> 播放/暂停 </a> <br> <br>
</body> </html>
上面程序的功能是点击"播放/暂停"按钮会听到一段声音,但我有n个"播放/暂停"按钮,可否把plays方法写成一个通法? 展开
2个回答
展开全部
楼主的意思是不是N个按钮实现同样的功能。
是的话可以这样实现:
在每个按钮加一个class属性为btn.
然后再<script ..>..</script>中加入如下的代码:
var playing=false;
function initBtns(){
//获取所有按钮(BTN-button)引用
var btns=document.getElementsByClassName("btn");
for(i=0;i<btns.length;i++)
btns[i].setAttribute("onclick","play()");
}
function play(){
var player=document.all["player"];
if(playing){
playing=false;
player.play();
}else{
playing=true;
player.pause();
}
}
window.onload=initBtns();
然后再<embeded.中将name设为player(您原来的名字起的不好)
这样就行了。
如果问题不是这样的给我发个email我再给你答案。
方法不是特别好,要睡觉了~
是的话可以这样实现:
在每个按钮加一个class属性为btn.
然后再<script ..>..</script>中加入如下的代码:
var playing=false;
function initBtns(){
//获取所有按钮(BTN-button)引用
var btns=document.getElementsByClassName("btn");
for(i=0;i<btns.length;i++)
btns[i].setAttribute("onclick","play()");
}
function play(){
var player=document.all["player"];
if(playing){
playing=false;
player.play();
}else{
playing=true;
player.pause();
}
}
window.onload=initBtns();
然后再<embeded.中将name设为player(您原来的名字起的不好)
这样就行了。
如果问题不是这样的给我发个email我再给你答案。
方法不是特别好,要睡觉了~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询