002

网页背景音乐实现方法

003用JavaScript 编写换背景音乐的程序

设计思想和实现方法
1.首先在HTML中建立<EMBED>嵌入标记,嵌入可供选择
的曲目文件,*.wav、*.au、*.mid等,代码如下:
<EMBED NAME="MUSIC1" SRC="曲目1的声音文件" Loop=-1
AUTOSTART=false Hidden=true MASTERSOUND>
<EMBED NAME="MUSIC1" SRC="曲目2的声音文件" Loop=-1
AUTOSTART=false Hidden=true MASTERSOUND>
代码中:Loop=-1: 让曲目重复播放
AUTOSTART=false: 禁止曲目嵌入后自动播放
Hidden=true: 将其隐藏起来,不可见
2.借助<SELECT>...</SELECT>和<OPTION>...</OPTION>
建立供选择曲目的下拉列表框:
<form name="my_music" width=300>
<select name="opt" size=1 onChange="javascript:my_sound()">
<option VALUE="0" SELECTED>------无------</option>
<option VALUE="1">曲目1</option>
<option VALUE="2">曲目2</option>
</form>
3.转到HTML文档的<HEAD>标记中编写实现曲目更换的
函数,具体如下:
function my_sound()
{
if (msie4) // 是否为IE 4.0 以上版本
{
if (document.my_music.opt.value=="1") //选择曲目1
{
document.NAME2.stop(); //关闭另一支曲目
document.NAME1.play(); //播放曲目
}
else
{
if (document.my_music.opt.value=="2") //选择曲目2
{
document.NAME1.stop();
document.NAME2.play();
}
else //取消背景音乐
{
document.NAME1.stop();
document.NAME2.stop();
}
}
}
}
上述程序是在IE浏览器中的实现方法,如果要求同时适
用于Netscape,只需增加少量的判断语句,播放语句改为
document.NAME.run()即可。
4.在HTML文档的<BODY>标记中增加onLoad="check_ok",
对浏览器认证变量msie4(可自由设定变量名)进行初始化,
满足程序对浏览器的要求,防止在浏览器达不到要求时出现
异常。
二、注释详尽、程序完整的示例程序清单
<html>
<head>
<title>背景音乐</title>
<script language="JavaScript">
<!--
var msie4=false;
//定义检测浏览器的函数
function check_ok()
{
var nav=window.navigator.userAgent;
var ie_ok=nav.indexOf("MSIE");
if (ie_ok>0) // 是Microsoft Internet Explorer
msie4=parseInt(nav.substring(ie_ok+5,nav.indexOf(".",ie_ok)))>=4; // IE 4.0以上版本
}
//定义更改背景音乐的函数
function my_sound()
{
... // 由于篇幅,具体代码请看上文
}
//-->
</script>
</HEAD>
<BODY onLoad="check_ok()">
<embed name="music1" src="01.mid" loop=-1 autostart=false hidden=true
mastersound>
<embed name="music2" src="02.mid" loop=-1 autostart=false hidden=true
mastersound>
<h1>活动的背景音乐,请您自由选择</h1>
<form name="my_music" width=300>
<select name="opt" size=1 onChange="javascript:my_sound()">
<option VALUE="0" SELECTED>------无------</option>
<option VALUE="1">曲目1</option>
<option VALUE="2">曲目2</option>
</form>
</body>
</html>

Tags:网页  网站  设计  HTML  

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。