在浏览网页时,你肯定遇到过有背景音乐的网页。在美妙的音乐中
漫步于Internet的无限空间,真可谓美哉!但是背景音乐只能是一支曲
目,未免美中不足。如果网页的背景音乐可以让访问者在预定的多支曲
目中任意选择,成为一种活动的背景音乐,相信会有更多的访问者愿意
驻足其中。其实,我们可以用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 >
<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>标记中增加,对浏览器认证变量
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()
{
if (msie4) //是否为IE 4.0以上版本
{
if (document.my_music.opt.value=="1") //选择曲目1
{
document.music2.stop(); //关闭另一支曲目
document.music1.play(); //播放曲目
}
else
{
if (document.my_music.opt.value=="2") //选择曲目2
{
document.music1.stop();
document.music2.play();
}
else //取消背景音乐
{
document.music1.stop();
document.music2.stop();
}
}
}
}
//-->
</script>
</HEAD>
<BODY >
<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 >
<option VALUE="0" SELECTED>------无------</option>
<option VALUE="1">曲目1</option>
<option VALUE="2">曲目2</option>
</form>
</body>
</html>
说明:
1、check_ok函数中的 var ie_ok=nav.indexOf("MSIE");是检测浏览器名
称中是否含有“MSIE”,以此判定是否为IE浏览器;
2、my_sound函数中 if (document.my_music.opt.value=="2") 对选择的
曲目进行判定,其标准格式为
if (document.表单名.SELECT对象名.value==option中设定的value值)
3、上面的程序是以两首曲目为例编写的,各位可以按上面介绍的方法自行
修改程序,增减可供选择的曲目;
4、如果在应用中存在问题或不明之处请访问