html5实现乐器的播放效果

html5实现乐器的播放效果
鼠标移上播放声音,按键盘播放声音

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>html5实现乐器的演奏</title>
    <style>
        img{
            border: 2px solid black;
            width: 213px;
            height: 200px;
        }
        img:hover{
            border: 2px solid red;
            cursor: pointer;
        }
        #instrument{
            width: 1345px;
            height: 210px;
        }
    </style>
    <script>
        window.addEventListener("load",function(){
            //首先获取所有的乐器图片
            var images=document.getElementByIdx_x("instrument").getElementsByTagName_r("img");
            //为每个图片添加鼠标移上的事件
            var audio=new Audio();
            for(var i=0;i<images.length;i++){
                //鼠标移上播放
                images[i].addEventListener("mouseover",function(){
                   controls(this.id)
                },true);
                //鼠标离开停止播放
                images[i].addEventListener("mouseout",function(){
                    audio.pause();
                },true);
            }
            //下边添加键盘事件,通过键盘来控制播放的乐器种类
            window.addEventListener("keydown",function(e){
                //我们只有六个乐器
                var keydata=[
                    {key :"D", sound : "dizi"},
                    {key :"E", sound : "erhu"},
                    {key :"G", sound : "guzheng"},
                    {key :"J", sound : "jita"},
                    {key :"Z", sound : "jizigu"},
                    {key :"X", sound : "xiaotiqin"}
                ];
                //获取我们键盘按下所对应的码
               
                e=e||event;
                var kc= e.keyCode|| e.which;
                //获取我们按键的内容
                var kcData=String.fromCharCode(kc);
                //将我们的按键与我们定义的乐器当中进行比较
                for(var j=0;j<keydata.length;j++){
                    if(keydata[j].key==kcData){
                        controls(keydata[j].sound);
                    }
                }
            },true);
            function controls(fileName){
                audio.pause();
                //设置当前的播放声音
                audio=new Audio("music/"+fileName+".mp3");
                audio.play();
            }
        },true);


    </script>
</head>
<body>
    <h3>html5乐器演奏</h3>
    <div id="instrument">
        <img src="instrument/dizi.jpg" id="dizi">
        <img src="instrument/erhu.jpg" id="erhu">
        <img src="instrument/guzheng.jpg" id="guzheng">
        <img src="instrument/jita.jpg" id="jita">
        <img src="instrument/jiazigu.jpg" id="jiazigu">
        <img src="instrument/xiaotiqin.jpg" id="xiaotiqin">
    </div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值