HTML5新增API

2019-04-24

meter仪表元素

用于表示一个已知最大值和最小值的记数仪表,比如电池的剩余电量、速度表等。
标签:<meter>

属性 描述
high number 指定仪表正常范围的最大值。该值必须小于等于max属性。
low number 指定仪表正常范围的最小值。该值必须大于等于min属性。
max number 定义最大值。默认值是 1。
min number 定义最小值。默认值是 0。
optimum number 定义什么样的度量值是最佳的值。 如果该值高于 "high" 属性,则意味着值越高越好。 如果该值低于 "low" 属性的值,则意味着值越低越好。
value number 定义度量的默认值,默认为0。

progress进度条元素

标签:<progress>

属性 描述
max number 定义完成的值。
value number 定义进程的当前值。

拖放元素

在HTML5中,元素只要设置了draggable属性为true就可以实现拖动效果。

事件 事件源 描述
ondrag 被拖动的元素 拖动过程中不断触发
ondragend 被拖动的元素 拖动结束时触发
ondragenter 拖动时鼠标经过的元素 被拖动的元素进入本元素的范围内时触发
ondragleave 拖动时鼠标经过的元素 被拖动的元素离开本元素时触发
ondragover 拖动时鼠标经过的元素 被拖动的元素进入本元素的范围内拖动时会不断触发
ondragstart 被拖动的元素 开始拖动操作时触发
ondrop 拖动时鼠标经过的元素 其他元素被放置到了本元素中时触发

示例:

<div id="d1" draggable="true" style="width:80px;height:80px;
                             background-color:#bbb;position:absolute;">
</div>
<script type="text/javascript">
    window.onload=function(){
        var d1 = document.getElementById("d1");
        document.ondragover = function(){
           /*拖动元素时会显示禁止标志,这是因为document对象默认阻止了拖动事件。
           可以为document的ondragover事件指定监听器,返回false即可。*/
           return false;
        }
        document.ondrop = function(){
            d1.style.left = event.clientX + "px";
            d1.style.top = event.clientY + "px";
        }
    }
</script>

文件上传验证

HTML5为type="file"的input元素增加了两个属性:

accept:控制上传文件的类型,其值为一个或多个MIME类型的字符串,多个字符串之间用逗号分隔。

multiple:设置是否允许选择多个文件。

可以通过files属性访问type="file"的input元素内的所有文件。该属性返回数组对象,每个数组元素都是个File对象。

File对象可使用如下属性获取文件信息:

name:文件名,不含文件路径 type:文件的MIME类型字符串 size:文件大小

<body>
    上传照片:<input id="photo" type="file" multiple accept="image/*"/>
    <input type="button" value="显示上传文件详情" onclick="showDetails();"/>
    <script type="text/javascript">
        function showDetails(){
        // 获取文件上传域内输入的多个文件
        var arr = document.getElementById("photo").files;
        // 遍历每个文件
        for(let i = 0 ; i < arr.length ; i ++){
             pNode = document.createElement("p");
            pNode.innerHTML = "文件名:" + arr[i].name + ",文件类型:" + arr[i].type
                            + ",文件大小:" + arr[i].size;
            document.body.appendChild(pNode);
            }
        }
     </script>
</body>

FileReader对象

使用FileReader对象可以在客户端读取文件上传域所选择的文件内容。

result属性:用于获取已读取的文件内容

主要方法:

方法 描述
readAsText(file,encoding) 以文本文件方式读取文件。encoding指定读取文件的字符集,默认为UTF-8。
readAsBinaryString(file) 以二进制方式读取文件。
readAsDataURL(file) 以DataURL方式读取文件。
abort() 停止读取。

主要事件:监听文件读取过程

事件 描述
onloadstart 开始读取数据时触发。
onprogress 正在读取数据时触发。
onload 成功读取数据后触发。
onloadend 读取数据完成后,无论成功或失败都将触发。
onerror 读取失败时触发。

Web存储

使用HTML5可以在本地存储用户的浏览数据。相对于Cookie更加安全快速。

本地存储数据的两个对象为:

localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。

sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

不管是 localStorage,还是 sessionStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

保存数据:localStorage.setItem(key,value);

读取数据:localStorage.getItem(key);

删除单个数据:localStorage.removeItem(key);

删除所有数据:localStorage.clear();

得到某个索引的key:localStorage.key(index);

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • HTML5新增API canvas 可视化数据 特效 banner 游戏 模拟器(在线PS、在线编辑器) 地图 S...
    忧兰成伤阅读 1,134评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,474评论 1 45
  • 拖拽API 属性 draggable 设置为true 可以被拖拽 拖拽事件 ondragstart 开始被拖动...
    璃_b11f阅读 300评论 0 0
  • 新增的API 1.语义: 能够让你更恰当地描述你的内容是什么。 2.连通性: 能够让你和服务器之间通过创新的新技术...
    红鲤鱼不理绿鲤鱼阅读 6,895评论 0 5
  • 接上 关于HTML/HTML5(一)http://www.jianshu.com/p/33fc7840c079 学...
    Amyyy_阅读 789评论 0 4