首页 > 开发 > 综合 > 正文

为网页添加活动的背景音乐

2024-07-21 02:14:21
字体:
来源:转载
供稿:网友
 在浏览网页时,你肯定遇到过有背景音乐的网页。在美妙的音乐中
漫步于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

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表