最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js制作簡單的音樂播放器的示例代碼

 更新時間:2017年08月28日 08:22:39   作者:wwzzdccc  
本篇文章主要介紹了js制作簡單的音樂播放器的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、設(shè)計目的:

1、隨著現(xiàn)在人民生活質(zhì)量的提高同樣伴隨著生活壓力的增大,越來越多的人追求越來越多的娛樂,其中一種娛樂方式就是音樂,于是突發(fā)奇想,制作一個音樂播放器。

2、主要功能:

1 支持循環(huán)自動播放

2 支持圖片的旋轉(zhuǎn)

3 支持調(diào)整播放的位置,以及調(diào)整聲音的大小

4 歌詞滾動效果

5 每秒顯示音樂的播放時間

二 、設(shè)計思路:

1、向瀏覽器中添加背景音樂:

首先應該向網(wǎng)頁中添加幾首好聽的背景音樂。添加音樂有,兩種方式可以用一個audo標簽,這樣應該把音樂的地址存放到一個數(shù)組中,第二種方式是,有幾首歌就添加幾個audo標簽,然后獲取所有的北京音樂(先添加三首音樂,放到一個數(shù)組中);

    play1=document.getElementById("play1");
    play2=document.getElementById("play2");
    play3=document.getElementById("play3");
    play=[play1,play2,play3];

1、播放音樂的時候圖片驚醒旋轉(zhuǎn)

2、播放音樂的時候滾動條滾動

3、播放音樂的時候是事件隨著背景音樂的播放時間增加

圖片轉(zhuǎn)動的函數(shù),當音樂播放的時候調(diào)用rotate()函數(shù)

 functionrotate(){
         vardeg=0;
         flag=1;
         timer=setInterval(function(){
           image.style.transform="rotate("+deg+"deg)";
           deg+=5;
           if(deg>360){
            deg=0;
           }
         },30);
       }

清除定時器的函數(shù),當音樂暫停的時候調(diào)用imagePause(),圖片旋轉(zhuǎn)的定時器被清除掉

  functionimagePause(){
         clearInterval(timer);
         flag=0;
       }

2:先定義兩個寬度長度大小一樣顏色不同的兩個div,利用currenttime屬性來過去當前的播放的時間,設(shè)一個div一開始的長度為零,然后通過當前播放的事件來調(diào)整div長度大小就能實現(xiàn)滾動條的效果了。

 functionjindutiao(){
         //獲取當前歌曲的歌長
         varlenth=play[index].duration;
         timer1=setInterval(function(){
           cur=play[index].currentTime;//獲取當前的播放時間
           fillbar.style.width=""+parseFloat(cur/lenth)*300+"px";
         },50)
       }

將進度條滾動的定時器清除掉,然后div的長度還原為0;

function reducejindutiao(){
         clearInterval(timer1);
         fillbar.style.width="0";
       }

3,背景音樂的播放時間也是利用currenttime來隨時改變,不過應該注意currenttime的計時單位為秒

function addtime(){
         timer2=setInterval(function(){
           cur=parseInt(play[index].currentTime);//秒數(shù)
           vartemp=cur;
           minute=parseInt(temp/60);
           if(cur%60<10){
            time.innerHTML=""+minute+":0"+cur%60+"";
           }else{
            time.innerHTML=""+minute+":"+cur%60+"";
           }
         },1000);
       }

二、實現(xiàn)通過進度條來調(diào)整歌曲的播放位置:

首先應該理清一下邏輯:當點擊進度條的時候,滾動條的寬度應該跟鼠標的offsetX一樣長,然后根據(jù)進度條的長度來調(diào)整聽該顯示的時間

(1) 給滾動條的div添加一個事件,當滾動條長度變化的時候歌曲的當前播放的時間調(diào)整,300是滾動條的總長度

   function adjust(e){
         var bar=e.target;
         var x=e.offsetX;
         varlenth=play[index].duration;
         fillbar.style.width=x+"px";
         play[index].currentTime=""+parseInt(x*lenth/300)+"";
         play[index].play();
       }

(2) 改變聲音大小的滾動條,跟改變播放時間類似,利用volume屬性(值為零到一)

function changeVolume(e){
         var x=e.offsetX+20;
         play[index].volume=parseFloat(x/200)*1;
         //改變按鈕的位置
         volume3.style.left=""+x+"px";
       }

(3)隨機跟順序播放音樂

順序播放音樂的時候,直接index++當index的范圍超過歌曲的長度的時候,index=0重新開始。隨機播放的函數(shù)類似,當歌曲播放完畢的時候,隨機產(chǎn)生一個0到play.length的數(shù)字就可以了

functionshunxu(e){
         var img=e.target;
         img1.style.border="";
         img.style.border="1pxsolid red";
         clearInterval(suijiplay);
         shunxuplay=setInterval(function(){
           if(play[index].ended){
             add();
           }
         },1000);
       }

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • ionic grid(柵格)九宮格制作詳解

    ionic grid(柵格)九宮格制作詳解

    這篇文章主要為大家詳細介紹了ionic grid九宮格的制作方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • JS三目運算(三元運算)方法詳解

    JS三目運算(三元運算)方法詳解

    下面小編就為大家?guī)硪黄狫S三目運算(三元運算)方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • JS深度拷貝Object Array實例分析

    JS深度拷貝Object Array實例分析

    這篇文章主要介紹了JS深度拷貝Object Array,結(jié)合實例形式分析了JavaScript深度拷貝的原理,需要的朋友可以參考下
    2016-03-03
  • JavaScript交換兩個變量方法實例

    JavaScript交換兩個變量方法實例

    這篇文章主要介紹了JavaScript交換兩個變量方法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Swiper如何實現(xiàn)兩行四列輪播圖效果實例

    Swiper如何實現(xiàn)兩行四列輪播圖效果實例

    大家應該都知道,Swiper是純javascript打造的滑動特效插件,面向手機、平板電腦等移動終端,下面這篇文章主要給大家介紹了關(guān)于Swiper如何實現(xiàn)兩行四列輪播圖效果的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • 圖片連續(xù)滾動代碼[兼容IE/firefox]

    圖片連續(xù)滾動代碼[兼容IE/firefox]

    網(wǎng)上有不少的連續(xù)滾動實現(xiàn)代碼,下面的這個是兼容性不錯的代碼。大家可以測試下。
    2009-06-06
  • javascript動態(tài)加載實現(xiàn)方法一

    javascript動態(tài)加載實現(xiàn)方法一

    這兩天,沒什么太多的事情,好吧,我承認,是我這兩天不想做公司的項目,因為我突發(fā)奇想,其實也不算突發(fā)奇想,算是對以前的想法的實現(xiàn),就是把JS當做Java來寫
    2012-08-08
  • 深入JS繼承

    深入JS繼承

    這篇文章主要介紹了深入JS繼承,對繼承感興趣的同學,可以參考下
    2021-05-05
  • JavaScript折半查找(二分查找)算法原理與實現(xiàn)方法示例

    JavaScript折半查找(二分查找)算法原理與實現(xiàn)方法示例

    這篇文章主要介紹了JavaScript折半查找(二分查找)算法原理與實現(xiàn)方法,結(jié)合具體問題描述了折半查找算法的原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-08-08
  • javascript將list轉(zhuǎn)換成樹狀結(jié)構(gòu)的實例

    javascript將list轉(zhuǎn)換成樹狀結(jié)構(gòu)的實例

    下面小編就為大家?guī)硪黄猨avascript將list轉(zhuǎn)換成樹狀結(jié)構(gòu)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論

罗源县| 郸城县| 丰顺县| 博湖县| 五峰| 精河县| 南投县| 梁平县| 增城市| 金华市| 紫金县| 象山县| 玉环县| 图片| 桐城市| 鄯善县| 卢氏县| 安国市| 佛冈县| 西乌珠穆沁旗| 建湖县| 浮梁县| 辽阳市| 九龙坡区| 乾安县| 黔西县| 临猗县| 安陆市| 阳城县| 遂川县| 稻城县| 潜山县| 松潘县| 积石山| 句容市| 海南省| 东乡| 大城县| 六安市| 正阳县| 浦北县|