HTML5 是下一代的 HTML,新增了很多的標籤啊什麼的,今天就總結一波(悄咪咪實際上是由於面試題好多都在考這個點javascript
// 基本用法 <video src='movie.ogg'> 這裏的內容是供不支持 video 元素的瀏覽器顯示的 </video> // 一些常見的屬性 autoplay:視頻在就緒後馬上播放 controls:向用戶顯示空間,好比播放/暫停按鈕 height:視頻播放器的高度 loop:循環播放 preload:視頻在頁面加載時進行播放,但若是使用 autoplay,則忽略改屬性 src:播放視頻的url width:視頻播放器的寬度
// 基本用法 <audio src='song.org'> 這裏的內容提供給不支持 audio 元素的瀏覽器顯示 </audio> // 基本屬性 autoplay:音頻就緒當即播放 controls:向用戶顯示空間,好比播放/暫停按鈕 loop:循環播放 preload:與 video 同樣 src:播放音頻的url
1 // 實現拖放 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5 <script type='text/javascript'> 6 function allowDrop(ev){ 7 ev.preventDefault(); 8 } 9 10 function drag(ev){ 11 ev.dataTransfer.setData('Text', ev.target.id); 12 } 13 14 function drop(ev){ 15 ev.preventDefault(); 16 var data = ev.dataTransfer.getData('Text'); 17 ev.target.appendChild(document.getElementById(data)); 18 } 19 </script> 20 </head> 21 <body> 22 <div id='div1' ondrop='drop(event)' ondragover='allowDrop(event)'></div> 23 <img id='drag1' src='image.git' draggable='true' ondragstart='drag(event)' width='330' height: '330' /> 24 </body> 25 </html>
解析一下上面的代碼,咱們看到了 ondrop, ondragStart, ondragOver, draggable。他們分別表明的意思是什麼呢?html
function drop(ev){
ev.preventDefault();
var data = ev.dataTransfer.getData('Text');
ev.target.appendChild(document.getElementById(data));
}
- 調用 preventDefault() 來避免瀏覽器對數據的默認處理(drop 事件的默認行爲是以連接形式打開)
- 經過 dataTransfer.getData("Text") 方法得到被拖的數據。該方法將返回在 setData() 方法中設置爲相同類型的任何數據。
- 被拖數據是被拖元素的 id ("drag1")
- 把被拖元素追加到放置元素(目標元素)中
function drag(ev){
ev.dataTransfer.setData("Text",ev.target.id);
}
// 數據類型是 "Text",值是可拖動元素的 id ("drag1")。
// 建立 Canvas 元素 <canvas id='myCavans' width='200' height='100'></canvas> // JS 繪製 <script type='text/javascript'> var c = document.getElementById('myCavans'); var cxt = c.getContext('2d'); // 建立 context 對象 cxt.fillStyle='#f00'; // 染色 cxt.fillRect(0, 0, 150, 75); // 規定形狀、尺寸和位置,從(0, 0)開始繪製 150x75 的矩形 }
localSotrage 方法存儲的數據沒有時間限制,不手動清除則永遠存在
// 新建一個key-value放入localStorage
localStorage.setItem(key, value);
// 獲取key值對應的value值
localStorage.getItem(key);
// 移除某一個localStorage項
localStorage.removeItem(key);
// 清除全部
localStorage.clear();
sessionStorage 與 localStorage 類似,不一樣在於localStorage 裏面存儲的數據沒有過時時間的設置,而存儲在 sessionStorage 裏面的數據在頁面回話結束後就會被清除。也就是說當這個瀏覽頁面被關閉以後sessionStorage就會被清除。
// API
sessionStorage.setItem(key, value);
sessionStorage.getItem(key);
sessionStorage.removeItem(key);
sessionStorage.clear();
<!DOCTYPE HTML> <html manifest='demo.appcache'> <body> The content of the document... </body> </html>
datalist 元素規定輸入域的選項列表。java
列表是經過 datalist 內的 option 元素建立的。git
如需把 datalist 綁定到輸入域,請用輸入域的 list 屬性引用 datalist 的 id:web