Html5(1)
2015-12-11 17:10
591 查看
一. 自定义属性(dataset)
data-name:dataset.namedata-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。
三. 表单新增控件和属性
新增控件
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来实现本地文件读取和写入
- html5 图片上传版本1.0
- Html5进度条插件(自写)
- h5制作案例分享 路易威登系列二:展示的不仅仅是一场时装秀
- 用HTML5打造本地桌面应用
- 使用Flexible 实现手淘H5 页面的终端适配学习
- 打造H5动感影集的爱恨情仇(动画性能篇)
- 利用html5看雪花飘落的效果
- Html5 Canvas动画旋转的小方块;
- 【转】使用 HTML5 设计辅助功能
- HTML5商城开发一 楼层滚动加载数据
- html5 标签img学习(待更新)
- 用HTML5打造本地桌面应用
- html5基础学习(标签)
- Html5实现手机九宫格密码解锁功能
- h5+百度地图获取地理位置
- 系列文章--HTML5学习系列链接
- 使用HTML5本地 Drag和Drop API(native API)
- HTML5 背景图片自适应屏幕的大小
- HTml5 进度条实现,以及控制进度条加载速度