為網頁添加活動的背景音樂
在瀏覽網頁時,你肯定遇到過有背景音樂的網頁。在美妙的音樂中
漫步于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︰chenhui-soft@sohu.com

