第十一周第二天筆記之html5知識

1 html5標簽

  • header 頭部崎淳;
  • footer 尾部削锰;
  • nav 導(dǎo)航菜單欄;
  • aside 側(cè)邊欄官辈;
  • section 頁面分塊
  • hgroup 標題組合
  • article 文章
  • dialog 對話翘瓮,配合dt,dd
  • figure 放置媒體資源
    • figureCaption 媒體標題
    • audio 音頻
    • video 視頻
    • 注意:通過src加載進來的音頻和視頻無法播放贮折,通過autoplay屬性來自動播放,如果想控制资盅,則設(shè)置controls
    • source 放置音頻視頻地址调榄,兼容性
     <audio autoplay controls>
         <source src="" type="audio/mp4">
     </audio>
    
  • 驗證代碼:
     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <title>html5體驗</title>
     </head>
     <body>
     <header>頁面頂部/頭部</header>
     <nav>導(dǎo)航菜單欄</nav>
     <section class="articleList">
         <aside>側(cè)邊欄</aside>
         <hgroup>
             <h2>主標題</h2>
             <h4>副標題</h4>
         </hgroup>
         <article>
             <h6>文章標題</h6>
             <p>文章主題內(nèi)容</p>
         </article>
     </section>
     <section class="dialog">
         <dialog>
             <dt>對話標題</dt>
             <dd>對話內(nèi)容</dd>
         </dialog>
     </section>
     <section class="mediaList">
         <figure>
             <figureCaption>媒體標題</figureCaption>
             <audio src="media/01.mp3" autoplay="autoplay" controls>瀏覽器不支持該音頻文件</audio>
             <video src="" autoplay="autoplay" controls>瀏覽器不支持該視頻文件</video>
         </figure>
     </section>
     <footer>尾部</footer>
     </body>
     </html>
    
  • 鏈接資料
    html5和css3學(xué)習(xí)大綱
    html5基礎(chǔ)知識1

2 音樂播放器實例

  • 思路:
    • 頁面結(jié)構(gòu)li浮動,新建ins定位在li中呵扛,用于運動每庆;
    • 通過each遍歷li數(shù)組,然后再each中獲取每個li元素今穿,獲取其索引值缤灵,再設(shè)置其背景色;
    • 添加mouseenter和mouseleave事件荣赶,讓ins元素移入li時凤价,移動到頂部,移出li后拔创,回到原來位置利诺;
    • 給document對象設(shè)置keydown事件,判斷鍵盤碼來控制設(shè)置不同索引值的li元素自動觸發(fā)mouseenter事件剩燥;
    • 利用定時器在間隔時間后慢逾,自動觸發(fā)mouseleave事件,讓其回到原來位置灭红;
  • 知識點:
    • 頁面結(jié)構(gòu)中設(shè)置li元素屬性box-sizing的屬性值為border-box侣滩,則元素設(shè)置的總寬度則包含內(nèi)padding和外邊框;
    • jQuery中事件$("li").mouseenter(function(){})里面匿名函數(shù)中的this為觸發(fā)的元素变擒,默認傳入一個事件對象實參君珠;
    • jQuery中each方法$("li").each(function(){})作用是遍歷li數(shù)組,每次向匿名函數(shù)中傳兩個實參娇斑,index和item策添,索引值和元素本身,里面的this為元素本身毫缆;
    • jQuery中trigger方法$(this).trigger("mouseover")作用是自動觸發(fā)事件唯竹;
    • audio對象身上的方法load()和pla()方法,為原生JS對象的方法苦丁;
  • 代碼:
     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <title>音樂播放器實例</title>
         <style>
             *{
                 margin: 0;
                 padding: 0;
                 list-style: none;
             }
             ul{
                 width: 1120px;
                 margin: 40px auto;
                 border: 1px solid blue;
             }
             ul::after{
                 display: block;
                 height: 0;
                 content: "";
                 clear: both;
             }
             ul>li{
                 width: 140px;
                 height: 60px;
                 line-height: 60px;
                 text-align: center;
                 float: left;
                 position: relative;
             }
             ul>li ins{
                 position: absolute;
                 width: 140px;
                 height: 60px;
                 left: 0;
                 top: 60px;
             }
             ul>li+li{
                 border-left: 1px dashed red;
                 box-sizing: border-box;
             }
         </style>
     </head>
     <body>
     <section>
         <ul>
             <li>音符1</li>
             <li>音符2</li>
             <li>音符3</li>
             <li>音符4</li>
             <li>音符5</li>
             <li>音符6</li>
             <li>音符7</li>
             <li>音符8</li>
         </ul>
     </section>
     <section class="mediaList">
         <figure>
             <audio src="audio/1.mp3"></audio>
             <audio src="audio/2.mp3"></audio>
             <audio src="audio/3.mp3"></audio>
             <audio src="audio/4.mp3"></audio>
             <audio src="audio/5.mp3"></audio>
             <audio src="audio/6.mp3"></audio>
             <audio src="audio/7.mp3"></audio>
             <audio src="audio/8.mp3"></audio>
         </figure>
     </section>
     <script src="JS/jquery.js"></script>
     <script>
         var ary=["red","yellow","blue","pink","orange","black","purple","green"];
         $("li").each(function (index, item) {
             $(item).append("<ins>").find("ins").css("backgroundColor",ary[index]);
         }).mouseenter(function () {
             //此時的this為觸發(fā)元素浸颓,并且傳入一個事件對象實參
             $("audio")[$(this).index()].load();//加載音頻
             $("audio")[$(this).index()].play();//播放音頻
             $(this).find("ins").stop().animate({top:0});
         }).mouseleave(function () {
             $(this).find("ins").stop().animate({top:60});
         });
         $(document).keydown(function (e) {
             if(e.keyCode>=49 && e.keyCode<=56){
                 $("li").eq(e.keyCode%49).trigger("mouseenter");
                 setTimeout(function () {
                     $("li").eq(e.keyCode%49).trigger("mouseleave")
                 },400)//通過定時器讓其運動回去;
             }
         })
     </script>
     </body>
     </html>
    

3 原生JS版音樂播放器實例

  • 代碼:
     <!DOCTYPE html>
     <html lang="en">
     <head>
         <meta charset="UTF-8">
         <title>音符鍵盤實例復(fù)習(xí)</title>
         <style>
             *{
                 margin: 0;
                 padding: 0;
                 list-style: none;
             }
             .container{
                 width: 100%;
             }
             .container .wrap{
                 width: 1127px;
                 height: 60px;
                 margin: 40px auto;
                 border: 1px solid blue;
                 text-align: center;
             }
             .container .wrap li{
                 width: 140px;
                 height: 60px;
                 line-height: 60px;
                 float: left;
                 position: relative;
             }
             .container .wrap li+li{
                 border-left: 1px dashed red;
             }
             .container .wrap li ins{
                 width: 100%;
                 height: 100%;
                 position: absolute;
                 left: 0;
                 top: 60px;
             }
         </style>
     </head>
     <body>
     <div class="container">
         <ul class="wrap">
             <li><p>音符1</p><ins></ins></li>
             <li><p>音符2</p><ins></ins></li>
             <li><p>音符3</p><ins></ins></li>
             <li><p>音符4</p><ins></ins></li>
             <li><p>音符5</p><ins></ins></li>
             <li><p>音符6</p><ins></ins></li>
             <li><p>音符7</p><ins></ins></li>
             <li><p>音符8</p><ins></ins></li>
         </ul>
         <div class="mediaList">
             <audio src="./audio/1.mp3"></audio>
             <audio src="./audio/2.mp3"></audio>
             <audio src="./audio/3.mp3"></audio>
             <audio src="./audio/4.mp3"></audio>
             <audio src="./audio/5.mp3"></audio>
             <audio src="./audio/6.mp3"></audio>
             <audio src="./audio/7.mp3"></audio>
             <audio src="./audio/8.mp3"></audio>
         </div>
     </div>
     <script src="../toolLibrary/myutils.js"></script>
     <script src="../toolLibrary/finallyAnimate.js"></script>
     <script src="../toolLibrary/myEvent.js"></script>
     <script>
         var oWrap=document.getElementsByTagName("ul")[0];
         var aIns=oWrap.getElementsByTagName("ins");
         var oMedia=utils.getByClass("mediaList")[0];
         var aAudio=utils.getChildren(oMedia,"audio");
         var ary=["red","yellow","blue","pink","orange","black","purple","green"];
         add();
         function add() {
             //給每個音符添加背景色
             for(var i=0; i<aIns.length; i++){
                 aIns[i].index=i;
                 on(aIns[i],"mouseenter",function () {
                     //播放音樂
                     aAudio[this.index].load();
                     aAudio[this.index].play();
                     clearInterval(this.timer);
                     toMove(this,0);
                 });
                 on(aIns[i],"mouseleave",function () {
                     clearInterval(this.timer);
                     toMove(this,60);
                 });
                 utils.setCss(aIns[i],"backgroundColor",ary[i]);
             }
         }
         //給document對象綁定keydown事件
         on(document,"keydown",toKeydown);
         function toKeydown(e) {
             //1-8對應(yīng)的鍵盤碼為49-56
             if(e.keyCode>=49 && e.keyCode<=56){
                 var m=e.keyCode%49;
                 aAudio[m].load();
                 aAudio[m].play();
                 clearInterval(aIns[m].timer);
                 toMove(aIns[m],0);
                 clearTimeout(n);
                 var n=setTimeout(function () {
                     clearInterval(aIns[m].timer);
                     toMove(aIns[m],60)
                 },400)
             }
         }
         //運動
         function toMove(ele,topval) {
             animate({
                 ele:ele,
                 effect:0,
                 target:{
                     top:topval
                 },
                 duration: 300
             })
         }
     </script>
     </body>
     </html>
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旺拉,一起剝皮案震驚了整個濱河市产上,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛾狗,老刑警劉巖蒂秘,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淘太,居然都是意外死亡姻僧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門蒲牧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撇贺,“玉大人,你說我怎么就攤上這事冰抢∷伤唬” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵挎扰,是天一觀的道長翠订。 經(jīng)常有香客問我巢音,道長,這世上最難降的妖魔是什么尽超? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任官撼,我火速辦了婚禮,結(jié)果婚禮上似谁,老公的妹妹穿的比我還像新娘傲绣。我一直安慰自己,他們只是感情好巩踏,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布秃诵。 她就那樣靜靜地躺著,像睡著了一般塞琼。 火紅的嫁衣襯著肌膚如雪菠净。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天彪杉,我揣著相機與錄音嗤练,去河邊找鬼。 笑死在讶,一個胖子當著我的面吹牛煞抬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播构哺,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼革答,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了曙强?” 一聲冷哼從身側(cè)響起残拐,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碟嘴,沒想到半個月后溪食,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡娜扇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年错沃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雀瓢。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡枢析,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刃麸,到底是詐尸還是另有隱情醒叁,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站把沼,受9級特大地震影響啊易,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饮睬,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一租谈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧续捂,春花似錦、人聲如沸宦搬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽间校。三九已至矾克,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間憔足,已是汗流浹背胁附。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留滓彰,地道東北人控妻。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像揭绑,于是被迫代替她去往敵國和親弓候。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容