html5特性及知识点

1、新标签
1)div语义不强,针对结构部署,提供了以下新标签
nav/main/header/footer/article/aside
ie9将把以上元素全部解析为行内元素,
引入第三方js插件:html5shiv.min.js
2)<progress></progress>
有两个属性。max:最大值 value:当前进度值
<meter></meter>
度量器
3)设置默认浮雕效果
<fieldset>
<legend>your content</legend>
</fieldset>

2、表单属性更新
1)新增type属性
color/data/datetime/number/url/email/range
2)新增其他特性
输入提示占位:placeholder="文本"
自动获取焦点:autofocus
输入记忆:autocomplete on打开 off关闭
必须输入:required
正则验证:pattern="正则表达式"
multiple:选择上传 多个文件或者允许键入多个文本,如邮箱,默认以逗号分隔
form属性:form="id"; id是给某一form标签设定的Id属性值,这样在表外设置该form标签时,该Input标签内容将一并被提交
3)input list属性/datalist标签
既可以通过箭头选择,又可以自己输入
<form action="demo_form.asp">
Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://www.w3schools.com" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://www.microsoft.com" />
</datalist>
<input type="submit" />
</form>

3、新增表单事件
1)oninput:监听当前指定元素内容的改变,一旦改变,将触发该事件
与onkeyup较为相似,但onkeyup不会对鼠标粘贴操作进行响应
,以及对快捷键的响应也不尽相同
2)oninvalid:当验证不通过时触发,如pattern属性的正则匹配

4、多媒体标签
audio/video
1)标签属性:
width:宽度
height:高度
src:资源url
autoplay:自动播放
loop:循环播放
currentTime:播放进度
duration:总时间
paused:视频播放状态

2)包裹标签
<source></source>被包裹在以上两个标签内用于设定资源属性
属性:
src:资源url
type:"video/mp4" <!--设置资源属性-->
3)方法:
.load()加载
.play()播放
.pause() 暂停

5、选取元素新方式
document.querySelector([selector]) 获取满足条件的第一个元素
document.querySelectorAll([selector]) 获取满足条件的所有元素伪数组

6、操作类新方式
1)el.classList 返回当前元素所有的样式列表
2)el.classList.add('className','value') 向元素添加指定类,一次只能添加一类
3)el.classList.remove('className') 从该元素的classList中移除指定类
4)el.classList.toggle('className') 类切换

7、全屏接口(兼容问题)
1)进入全屏
function full(ele) {
if (ele.requestFullscreen) {
ele.requestFullscreen();
} else if (ele.mozRequestFullScreen) {
ele.mozRequestFullScreen();
} else if (ele.webkitRequestFullscreen) {
ele.webkitRequestFullscreen();
} else if (ele.msRequestFullscreen) {
ele.msRequestFullscreen();
}
}
2)退出全屏
function exitFullscreen() {
if(document.exitFullScreen) {
document.exitFullScreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if(document.msExitFullscreen) {
document.msExitFullscreen();
}
}

3)判断当前是否全屏
function isFullScreen() {
return !! (
document.fullscreen ||
document.mozFullScreen ||
document.webkitIsFullScreen ||
document.webkitFullScreen ||
document.msFullScreen
);
}

8、FileReader接口
1)创建读取对象:var reader=new FileReader()
说明没有任何的返回值:void:但是读取完文件之后,它会将读取的结果存储在文件读取对象的result中
2)对象相关方法
readAsText(file):读取文本文件(可以使用Txt打开的文件),返回文本字符串,默认编码是UTF-8
readAsBinaryString(file):读取任意类型的文件。返回二进制字符串。这个方法不是用来读取文件展示给用户看,而是存储文件。
例如:读取文件的内容,获取二进制数据,传递给后台,后台接收了数据之后,再将数据存储
readAsDataURL(file):读取文件获取一段以data开头的字符串,这段字符串的本质就是DataURL.DataURL是一种将文件
(这个文件一般就是指图像或者能够嵌入到文档的文件格式)嵌入到文档的方案。DataURL是将资源转换为base64编码的字符串形式,
并且将这些内容直接存储在url中>>优化网站的加载速度和执行效率。
abort():中断读取
3)文件存储在input表单元素的files属性中,它是一个数组
files[index]即为2)中的实参
4)
FileReader提供一个完整的事件模型,用来捕获读取文件时的状态
* .onabort:读取文件中断片时触发
* .onerror:读取错误时触发
* .onload:文件读取成功完成时触发
* .onloadend:读取完成时触发,无论成功还是失败
* .onloadstart:开始读取时触发
* .onprogress:读取文件过程中持续触发*/

9、拖拽接口
1)为标签添加属性draggable=“true”后该元素即可被鼠标拖拽
图片和超链接默认可以拖拽
2)拖拽事件
应用于被拖拽的元素的有
ondrag 拖拽整个过程都会触发
ondragstart 拖拽开始时
ondragleave 鼠标离开拖拽元素时触发
ondragend 拖拽结束时触发

应用于目标元素的有
ondragenter 进入目标元素后
ondragover 在目标元素上方
ondrop 释放鼠标后
ondragleave 鼠标离开目标元素后

2)事件源对象
全局拖拽时,用document触发以上事件
e.target 的值即为当前被拖拽的元素
通过事件捕获来捕捉拖拽元素
在e内存在e.dataTransfer
可通过事件源对象的dataTransfer来实现数据的存储与获取
e.dataTransfer.setData(format,data);
format:数据类型,text/html text/url-list
data:数据,一般是字符串值
通过e.dataTransfer.setData存储的数据只能在ondrop事件内获取
通过e.dataTransfer.getData(format)获取
浏览器默认阻止ondrop事件
在html5中,遇到ondrop()事件无效,可能原因是浏览器的默认操作,需执行事件阻止系统的默认操作。

obj.ondragover = function(e){

e.preventDefault();

}

obj.ondrop = function(e){

e.preventDefault();

}

10、地理定位接口
1)navigator.geolocation
2)/*1.获取地理信息成功之后的回调
* 2.获取地理信息失败之后的回调
* 3.调整获取当前地进信息的方式*/
//navigator.geolocation.getCurrentPosition(success,error,option);
/*option:可以设置获取数据的方式
* enableHighAccuracy:true/false:是否使用高精度
* timeout:设置超时时间,单位ms
* maximumAge:可以设置浏览器重新获取地理信息的时间间隔,单位是ms*/
获取的是经纬度

11、web存储
1)sessionstorage
特点:仅在当前会话下有效,关闭页面后被清除
一般为5MB大小,仅在客户端(即浏览器)中保存,不参与和服务器的通信,
提供相应的操作方法,本质上是存储到当前页面的内存中
方法:以window来调用
setItem(key,value) 以键值对的方式存储数据
getItem(key) 获相应存储数据
removeItem(key) 移除相应数据
clear() 清空存储
2)localstorage
除非被清除,否则永久保存。不同浏览器间不共享数据
一般为20MB,仅在客户端(即浏览器)中保存,不参与和服务器的通信
方法完全一致
3)应用程序缓存
创建自己希望缓存的资源,在断开网络时也能显示相应内容
要创建cache manifest 文件
优点:可配置需要缓存的资源,提高浏览速度,减少请求次数

使用步骤:html标签中包含manifest属性
<html manifest="fileName">
fileName是应用缓存清单文件的路径,扩展名为appcache

该文件的写法:
CACHE MANIFEST
#注释
#需要缓存的文件列表
CACHE:
../img.jpg
../img.gif
# *:缓存所有文件
#不再缓存范围内的文件列表
NETWORK:
../img.png
#文件获取失败时的替代文件列表
FALLBACK
../img.png ../img.bmp
# /:所有文件

classList属性:这个属性是新集合类型DOMTokenList的实例。其包含以下属性和方法:

->length

->item()(也可以用方括号语法):取得每个元素

->add():将给定的字符串值添加到列表中。如果值已经存在,就不添加。

->contains():表示列表中是否存在给定的值,如果存在则返回true,否则返回false。

->remove():从列表中删除给定的字符串。

->toggle():如果列表中已经存在给定的值,删除它;如果列表中没有给定的值,添加它。

HTML5冲刺的更多相关文章

  1. HTML5 2D平台游戏开发#3冲刺

    断断续续地把Demo又写了一阵,终于把角色的冲刺动作完成了.冲刺的作用是使角色能够快速移动,闪避攻击或障碍.其完成效果如下: 首先,仍需要一些变量来表示角色的冲刺状态: //标识角色是否处于冲刺中 v ...

  2. 团队作业8——第二次项目冲刺(Beta阶段)--5.24 forth day

    团队作业8--第二次项目冲刺(Beta阶段)--5.24 forth day Day four: 会议照片 项目进展 Beta冲刺的第四天,以下是今天具体任务安排: 队员 昨天已完成的任务 今日计划完 ...

  3. 团队作业4——第一次项目冲刺(Alpha版本)4.22

    团队作业4--第一次项目冲刺(Alpha版本) Day one: 会议照片 由于团队中的组员今天不在学校,所以我们的站立会议提前一天展开. 项目进展 由于今天是Alpha版本项目冲刺的第一天,所以没有 ...

  4. 冲刺NO.2

    Alpha冲刺第二天 站立式会议 项目进展 团队成员在确定了所需技术之后,开始学习相关技术的使用,其中包括了HTML5,CSS与SSH框架等开发技术.并且在项目分工配合加以总结和完善,对现有发现的关于 ...

  5. 团队项目(第四周冲刺之二)—GG队

    项目冲刺: 队员 学号 叶尚文(队长) 3116008802 蔡晓晴 3216008808 杜婷萱 3216008809 龙剑初 3116004647 于泽浩 3116004661 (先把帅气的合照不 ...

  6. 第1阶段冲刺成果—简单运算game(APP)

    第1阶段冲刺成果 由于我们团队都没有Android的基础,所以在这一块花了很长的时间去学习探索,就连简单的Android的电脑配置也花了很长的时间,所以其他的DONE的都没有完成,这是失败的地方.但是 ...

  7. HTML5 2D平台游戏开发#4状态机

    在实现了<HTML5 2D平台游戏开发——角色动作篇之冲刺>之后,我发现随着角色动作的增加,代码中的逻辑判断越来越多,铺天盖地的if() else()语句实在让我捉襟见肘: 这还仅仅是角色 ...

  8. 第04组 Beta冲刺(1/4)

    队名:斗地组 组长博客:地址 作业博客:Beta冲刺(1/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.分配展示任务 2.收集各个组员的进度 3.写博客 展示GitHub当日代码/文档 ...

  9. 第04组 Beta冲刺(2/4)

    队名:斗地组 组长博客:地址 作业博客:Beta冲刺(2/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.分配展示任务 2.收集各个组员的进度 3.写博客 展示GitHub当日代码/文档 ...

随机推荐

  1. Harbo1.5.2离线搭建

    环境说明 操作系统版本:Centos7.5 docker版本:docker-ce 17.03.2 harbor版本:v1.5.2 docker-compose:  1.22.0 基础环境搭建 系统优化 ...

  2. CMDB服务器管理系统【s5day89】:深入理解Java的接口和抽象类

    对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...

  3. JSON三种数据解析方法(转)

    原 JSON三种数据解析方法 2018年01月15日 13:05:01 zhoujiang2012 阅读数:7896    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

  4. 分布式系列七: zookeeper简单用法

    zookeeper是分布式开源框架, 是Google Chubby的一个实现, 主要作为分布式系统的协调服务. Dobbo等框架使用了其功能. zookeeper特性 顺序一致性: 事务请求最终会严格 ...

  5. 3D Slicer中文教程(二)—软件功能界面介绍

    1.界面介绍 2.菜单及工具栏介绍 (1)菜单 File-文件菜单 文件菜单包含用于加载MRML场景的选项,用于从互联网下载样本数据集或各种类型的各个数据集.此处还提供了保存场景和数据的选项. Edi ...

  6. 【ARTS】01_21_左耳听风-201900401~201900407

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  7. 墨水屏 E-Paper module【转】

    转自:https://blog.csdn.net/smallmount123/article/details/77489196 https://www.digikey.com/product-deta ...

  8. linux异步IO的两种方式【转】

    转自:https://blog.csdn.net/shixin_0125/article/details/78898146 知道异步IO已经很久了,但是直到最近,才真正用它来解决一下实际问题(在一个C ...

  9. Beta 冲刺(4/7)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(4/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 ppt模板 接下来的计划 做好机动. ...

  10. .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'

    原因是缺少了启动文件,startup_xxx.s,只需要把该文件添加到项目下即可,该文件如果找不到则重新建立工程,每个新的工程建立后系统都会询问是否添加启动文件,选择添加启动文件即可. 注意选择对应容 ...