为网页添加活动的背景音乐
在浏览网页时,你肯定遇到过有背景音乐的网页。在美妙的音乐中 漫步于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 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() { 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 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>
说明: 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、如果在应用中存在问题或不明之处请访问Http://chenhuisoft.top263.net
姓名:周洋 地址:湖北省荆门市教育委员会招生办 邮编:448000 电话:0724-2351749 E-mail:[email protected]

|