Html5(1)
一. 自定義屬性(dataset)
data-name:dataset.name
data-name-first:dataset.nameFirst
<div data-hello="world"></div>
<script>
var oDiv = document.getElementsByTagName("div")[0];
alert(oDiv.dataset.hello);
</script>
二. js載入
js的載入會影響後面內容的載入,很多瀏覽器都採用了並行載入js,但還是會影響其他內容。
html5的defer和async
- defer:延遲載入,會按順序執行,在onload執行前會被觸發
- async:非同步載入,載入完就觸發,有順序問題
labjs庫(js非同步載入庫)
自定義屬性在屬性庫中有重要作用,如jquery mobile。
三. 表單新增控制元件和屬性
新增控制元件
< input type=”tel” /> 在移動端點選會直接彈出鍵盤,新增的type型別還有:
- emal:電子郵箱文字框,跟普通的沒什麼區別
當輸入不是郵箱的時候,驗證通不過
移動端的鍵盤會有變化
- tel:電話號碼
當輸入不是電話號碼的時候,驗證通不過
移動端的鍵盤會有變化
- url:網頁的URL,有驗證
- search:搜尋引擎
chrome下輸入文字後,會多出一個關閉的X
- range:特定範圍內的數值選擇器
mix、max、step(步數)
- number:只能包含數字的輸入框
- color:顏色選擇器
- datetime 顯示完整日期
- datetime-local:顯示完整日期,不含時區
- time:顯示時間,不含時區
- date:顯示日期
- week:顯示周
- month:顯示月
新增屬性
- placeholder:輸入框提示資訊
- autocomplete:是否儲存使用者輸入值
預設為no,關閉提示選擇off - autofocus:指定表單獲取輸入焦點
- list和datalist:為輸入框構造一個選擇列表
list值為datalist標籤的id - required:此項必填,不能為空
- pattern:正則驗證patter=”\d{6,10}”
- formaction:在submit裡定義提交地址
四. 歷史管理
通過改變hash值來管理
onhashchange:當hash值改變是觸發此事件。
html5中history:
伺服器下執行
pushState:三個引數:資料 標題(都沒實現)地址(可選)popstate事件:讀取資料 event.state
注意:網址是虛假加的,需要再伺服器端指定對應頁面,不然重新整理後就找不到頁面。
<div id="div1"></div>
<script>
var btn = document.getElementById("btn");
var oDiv = document.getElementById("div1");
var json = {};
btn.onclick = function(){
var arr = randomNum(35,7);
var num = Math.random();
json[num] = arr;
oDiv.innerHTML = arr;
window.location.hash = num;
}
window.onhashchange = function(){
alert("change");
oDiv.innerHTML = json[window.location.hash.substring(1)];
}
function randomNum(sum, num)
{
var arr = [];
var newArr = [];
for(var i = 0; i < sum; i++)
{
arr.push(i);
}
for(var i = 0; i < num; i++)
{
newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
}
return newArr;
}
</script>
html5中
<Button id="btn">隨機選彩票</Button>
<div id="div1"></div>
<script>
var btn = document.getElementById("btn");
var oDiv = document.getElementById("div1");
btn.onclick = function(){
var arr = randomNum(35,7);
history.pushState(arr,'');
oDiv.innerHTML = arr;
}
window.onpopstate = function(ev){
oDiv.innerHTML = ev.state
}
function randomNum(sum, num)
{
var arr = [];
var newArr = [];
for(var i = 0; i < sum; i++)
{
arr.push(i);
}
for(var i = 0; i < num; i++)
{
newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
}
return newArr;
}
</script>
相關文章
- HTML5學習筆記1 HTML5 新元素HTML筆記
- 第 1 章 HTML5 概述HTML
- HTML5學習(1)–介紹HTML
- 淺析HTML5的Canvas——1HTMLCanvas
- game html5 tafang V1GAMHTML
- 第六課 Html5常用標籤 html5學習1HTML
- 前端Html5(1)之html語義化前端HTML
- HTML5與WebGL程式設計(1):介紹HTMLWeb程式設計
- HTML5手機APP開發入門(1)HTMLAPP
- 【HTML5】記錄一下學習HTML5的一些新元素------(1)HTML
- 使用HTML5 canvas做地圖(1)基礎知識HTMLCanvas地圖
- 《HTML5遊戲程式設計核心技術與實戰》一第1章 遊戲和HTML5初探HTML遊戲程式設計
- HTML5與CSS3權威指南筆記案例1HTMLCSSS3筆記
- HTML5系列:HTML5表單HTML
- HTML5系列:HTML5繪圖HTML繪圖
- HTML5系列:HTML5結構HTML
- 快速開發基於 HTML5 網路拓撲圖應用1HTML
- HTML5已死;HTML5長生!HTML
- HTML5HTML
- HTML5視訊教程,HTML5專案實戰,HTML5中文指南,HTML5使用手冊HTML
- HTML5培訓:什麼是HTML5?HTML
- HTML5前景如何?HTML5好找工作嗎?HTML
- HTML5如何學?HTML5該學什麼?HTML
- HTML5系列:HTML5本地儲存HTML
- Html5學習系列(一)認識HTML5HTML
- HTML5提高HTML
- HTML5 拖放HTML
- HTML5(WebWorkers)HTMLWeb
- HTML5 -- CanvasHTMLCanvas
- HTML5拖放HTML
- HTML5安全HTML
- HTML5 教程HTML
- html5拖拽HTML
- 初探HTML5HTML
- HTML5培訓教程:HTML5基礎介紹HTML
- 什麼是HTML5?HTML5發展前景如何?HTML
- HTML5如何學?學HTML5要注意什麼?HTML
- HTML5移動遊戲開發高階程式設計 9:自建Quintus引擎(1)HTML遊戲開發程式設計UI