html5

什麼是html5
1.H5不是新語言,是第五次修改的版本

2.支持全部主流瀏覽器(IE9以上支持H5,ie8一下不支持)

3.改變了用戶與文檔交互方式:多媒體 video audio canvas 

4.增長其它的新特性:語義特性,本地存儲特性,網頁多媒體,二維三維,特效(過分,動畫)

5.相對於h4:
    1:進步:拋棄了不經常使用的標記
    2.新增:新增標記和屬性
    3.結構簡潔

html:xt +tab
html5 是一套規範
-------------------------------------------
width:100% 流失佈局 || 百分佈局

解決ie8兼容性問題:引進JS文件或者更改屬性
電話 tel 彈出數字鍵盤

form:myForm 指定表單 

-------------------------------
碼雲上傳
git clone url地址
git add * 將代碼上傳到本地倉庫
git commit -m '必須寫的註釋'
git push

1.在碼雲上建立項目
2.複製項目地址
3.四步走

https://gitee.com/tuziling84/code.git
-------------------------------------
   <!--autofocus:自動獲取焦點-->
    <!--autocomplete:自動完成:on:打開  off:關閉
    1.必須成功提交過:提交過纔會記錄
    2.當前添加autocomplete的元素必須有name屬性-->
    用戶名:<input type="text" name="userName" placeholder="請輸入用戶名" autofocus autocomplete="on"> <br>
    <!--tel並不會實現驗證,僅僅是在移動端可以彈出數字鍵盤-->
    <!--required:必須輸入,若是沒有輸入則會阻止當前數據提交-->
    <!--pattern:正則表達式驗證
    *:表明任意個
    ?:表明0個或1個
    +:表明1個或多個-->
    手機號:<input type="tel" name="userPhone" required pattern="^(\+86)?1\d{10}$"> <br>
    <!--multiple:能夠選擇多個文件-->
    文件:<input type="file" name="photo" multiple> <br>
    <!--email:有默認驗證  在email中,multiple容許輸入多個郵箱地址,以逗號分隔-->
    郵箱:<input type="email" name="email" multiple><br>
    
    <!--提交:-->
    <input type="submit"> <br>
</form>
<!--下面這個表單元素並無包含在form中:默認狀況下面表單元素的數據不會進行提交-->
<!--form:指定表單id,那麼在未來指定id號的表單進行數據提交的時候,也會將當前表單元素的數據一塊兒提交-->
地址:<input type="text" name="address" form="myForm">


 <!--創建輸入框與datalist的關聯  list="datalist的id號"-->
    專業:<input type="text" list="subjects"> <br>
    <!--經過datalist建立選擇列表-->
    <datalist id="subjects">
        <!--建立選項值:value:具體的值 label:提示信息,輔助值-->
        <!--option能夠是單標籤也能夠是雙標籤-->
        <option value="英語" label="不會"/>
        <option value="前端與移動開發" label="前景很是好"></option>
        <option value="java" label="使用人數多"></option>
        <option value="javascript" label="作特效"></option>
        <option value="c" label="不知道"></option>
    </datalist>

    網址:<input type="url" list="urls">
    <datalist id="urls">
        <!--若是input輸入框的type類型是url,那麼value值必須添加http://-->
        <option value="http://www.baidu.com" label="百度"></option>
        <option value="http://www.sohu.com"></option>
        <option value="http://www.163.com"></option>
    </datalist>

-------------------------------
fullscreen
    一、js的兼容性處理   加前綴
        google+apple+360+qq       內核:webkit
        火狐                      內核:moz
        歐朋                      內核:o
        ie                        內核:ms
    二、實現全屏和退出全屏對象不同
        實現全屏:具體對象調用     RequestFullScreen()方法
        退出全屏:document對象調用 CancelFullScreen()方法
    三、火狐最標準的 


-------------------------
oninput :監聽當前指定元素
onkeypu : 鍵盤彈起時候觸發
oninvalid :當驗證不經過時觸發


進度條
progress :  max  value
meter
-----------------------
音頻
embed 直接插件視頻文件:他的本質是條用本機上已經安裝的軟件,有兼容性

flash 插件  安裝flash 蘋果設備不支持  增長學習成本

<!--embed:能夠直接插入音頻視頻,本質是經過本機安裝的音頻視頻播放軟件來播放的。要求必須已經安裝了這些軟件  兼容性-->

<!--flash:  1.先學習flash,增長使用成本  2.iphone,ipd,不支持flash-->

<!--audio:音頻-->

    <!-- <audio controls  autoplay>
        <source src="./mp3/aa.mp3" type="audio/ogg">
        <source src="./mp3/aa.mp3" type="audio/mpeg">
    </audio> -->

<!--
src:播放文件的路徑
controls:音頻播放器的控制器面板
autoplay:自動播放
loop:循環播放-->
<!--<audio src="../mp3/aa.mp3" controls></audio>-->

<!--video:視頻-->
<!--
pause 暫停
src:播放文件的路徑
controls:音頻播放器的控制器面板
autoplay:自動播放
loop:循環播放
poster:指定視頻尚未徹底下載完畢,或者用戶沒有點擊播放前顯示的封面。 默認顯示當前視頻文件的第一副圖像
width:視頻的寬度
height:視頻的高度
-->
<!--注意事項:視頻始終會保持原始的寬高比。意味着若是你同時設置寬高,並非真正的將視頻的畫面大小設置爲指定的大小,而只是將視頻的佔據區域設置爲指定大小,除非你設置的寬高恰好就是原始的寬高比例。因此建議:在設置視頻寬高的時候,通常只會設置寬度或者高度,讓視頻文件自動縮放-->
<!--<video src="../mp3/mp4.mp4" poster="../images/l1.jpg" controls  height="600"></video>-->

<!--source:由於不一樣的瀏覽器所支持的視頻格式不同,爲了保證用戶可以看到視頻,咱們能夠提供多個視頻文件讓瀏覽器自動選擇-->
<!--<video muted src="../mp3/flv.flv" controls></video>-->

------------------------------------

1.ononline:網絡連通的時候觸發事件
2.nooffline:網絡斷開觸發

全屏操做:
required  必填

    3c3ff6933cb1c09c87d09de335612321

--------------------
拖拽:
e.preventDefault();阻止默認事件
draggable 改變鼠標樣式  拖拽
--------------------------------
sessionStorage
生命週期:
存儲大小:5M
關閉瀏覽器 數據不存在
存儲在瀏覽器當前頁面內存中
數據只能在當前頁面
sessionStorage.getItem("key",value)
setItem(key,value):存儲數據,以鍵值對的方式存儲
getItem(key):獲取數據,經過指定名稱的key獲取對應的value值
removeItem(key):刪除數據,經過指定名稱key刪除對應的值
clear():清空全部存儲的內容


JSON.stringify(arr2)   =========將數組轉換成字符串  原理就是在數組身上打上一個引號
JSON.parse(arr3)  ==============將字符串轉換成數組對象    原理是把引號去掉
-------------------------
localStorage 同一個瀏覽器能夠共享數據
數據只能手動刪除
存儲大小 : 20M
數據存儲在硬盤上
setItem(key,value):存儲數據,以鍵值對的方式存儲
getItem(key):獲取數據,經過指定名稱的key獲取對應的value值
removeItem(key):刪除數據,經過指定名稱key刪除對應的值
clear():清空全部存儲的內容


例子:

//定義一個字符串

var data='{"name":"goatling"}'

//解析對象?

?JSON.parse(data)

結果是:

?name:"goatling"

JSON.stringify()【從一個對象中解析出字符串】

var data={name:'goatling'}

JSON.stringify(data)

結果是:

'{"name":"goatling"}'

--------------------------
用於被拖拽元素的事件
 ondrag         應用於拖拽元素,整個拖拽過程都會調用--持續
 ondragstart    應用於拖拽元素,當拖拽開始時調用
 ondragleave    應用於拖拽元素,當鼠標離開拖拽元素時調用
 ondragend      應用於拖拽元素,當拖拽結束時調用
應用於目標元素的事件 
 ondragenter    應用於目標元素,當拖拽元素進入時調用
 ondragover     應用於目標元素,當停留在目標元素上時調用--持續
 ondrop         應用於目標元素,當在目標元素上鬆開鼠標時調用
 ondragleave    應用於目標元素,當鼠標離開目標元素時調用
e.preventDefault(); 清除默認行爲

列如:
<script>
             var div1 = document.querySelector("#div1");
            var div2 = document.querySelector("#div2");
            //開始拖拽
            document.ondragstart=function(e){
                console.log(e);
                e.dataTransfer.setData("text/html",e.target.id);
            }
            //持續拖拽
            document.ondragover=function(e){
                e.preventDefault();
            }
            //結束拖拽
            document.ondrop=function(e){
               var id=e.dataTransfer.getData("text/html");
                e.target.appendChild(document.getElementById(id));
            }
        </script>


---------------上傳-----------------------
multiple 多個文件上傳
 onabort:讀取文件中斷片時觸發
 onerror:讀取錯誤時觸發
 onload:文件讀取成功完成時觸發
 onloadend:讀取完成時觸發,不管成功仍是失敗
 onloadstart:開始讀取時觸發
 onprogress:讀取文件過程當中持續觸發
reader.onload=function(){
 //console.log(reader.result); 讀取的文件在讀取對象的reader.result中
    document.querySelector("img").src=reader.result;
}
reader.onprogress=function(e){
    var percent= e.loaded/ e.total*100+"%";
    div.style.width=percent;
}

如:
 var myfile=document.querySelector("#myfile");
        var div =document.querySelector("div");
        myfile.onchange=function(){
            div.innerHTML="";
           var file=myfile.files;//獲取個數
          // console.log(file); 
          for(var i = 0; i < file.length;i++){
              var reader=new FileReader();
            //  console.log(reader.readAsDataURL)
            reader.readAsDataURL(file[i]);
            reader.onload=function(e){
                var img=document.createElement("img");
               // cosnole.log(img);
               img.src=e.target.result;
                div.appendChild(img);
            }
          }
        }
相關文章
相關標籤/搜索