HTML5冲刺
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冲刺的更多相关文章
- HTML5 2D平台游戏开发#3冲刺
断断续续地把Demo又写了一阵,终于把角色的冲刺动作完成了.冲刺的作用是使角色能够快速移动,闪避攻击或障碍.其完成效果如下: 首先,仍需要一些变量来表示角色的冲刺状态: //标识角色是否处于冲刺中 v ...
- 团队作业8——第二次项目冲刺(Beta阶段)--5.24 forth day
团队作业8--第二次项目冲刺(Beta阶段)--5.24 forth day Day four: 会议照片 项目进展 Beta冲刺的第四天,以下是今天具体任务安排: 队员 昨天已完成的任务 今日计划完 ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.22
团队作业4--第一次项目冲刺(Alpha版本) Day one: 会议照片 由于团队中的组员今天不在学校,所以我们的站立会议提前一天展开. 项目进展 由于今天是Alpha版本项目冲刺的第一天,所以没有 ...
- 冲刺NO.2
Alpha冲刺第二天 站立式会议 项目进展 团队成员在确定了所需技术之后,开始学习相关技术的使用,其中包括了HTML5,CSS与SSH框架等开发技术.并且在项目分工配合加以总结和完善,对现有发现的关于 ...
- 团队项目(第四周冲刺之二)—GG队
项目冲刺: 队员 学号 叶尚文(队长) 3116008802 蔡晓晴 3216008808 杜婷萱 3216008809 龙剑初 3116004647 于泽浩 3116004661 (先把帅气的合照不 ...
- 第1阶段冲刺成果—简单运算game(APP)
第1阶段冲刺成果 由于我们团队都没有Android的基础,所以在这一块花了很长的时间去学习探索,就连简单的Android的电脑配置也花了很长的时间,所以其他的DONE的都没有完成,这是失败的地方.但是 ...
- HTML5 2D平台游戏开发#4状态机
在实现了<HTML5 2D平台游戏开发——角色动作篇之冲刺>之后,我发现随着角色动作的增加,代码中的逻辑判断越来越多,铺天盖地的if() else()语句实在让我捉襟见肘: 这还仅仅是角色 ...
- 第04组 Beta冲刺(1/4)
队名:斗地组 组长博客:地址 作业博客:Beta冲刺(1/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.分配展示任务 2.收集各个组员的进度 3.写博客 展示GitHub当日代码/文档 ...
- 第04组 Beta冲刺(2/4)
队名:斗地组 组长博客:地址 作业博客:Beta冲刺(2/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.分配展示任务 2.收集各个组员的进度 3.写博客 展示GitHub当日代码/文档 ...
随机推荐
- Netty 源码分析
https://segmentfault.com/a/1190000007282628 netty社区-简书闪电侠 :https://netty.io/wiki/related-articles.ht ...
- 第三节:ThreadPool的线程开启、线程等待、线程池的设置、定时功能
一. ThreadPool简介 ThreadPool简介:ThreadPool是一个线程池,当你需要开启n个线程时候,只需把这个指令抛给线程池,它将自动分配线程进行处理,它诞生于.Net 2.0时代. ...
- webpack 代码优化压缩方法
在配置基于webpack的react单页面脚手架时,公共依赖库代码打包至vender.js中,页面逻辑代码打包至app.js中,使用webpack-bundle-analyzer分析发现,两个js中包 ...
- UE4材质特别属生记录
tangent space normal 切线空间法线 材质默认使用的切线空间法线,可切换为对象空间法线(彩色贴图) Separate Translucency 单独半透明 允许半透明被渲染到一个单独 ...
- 【vue】路由配置
一般组件我们会有全屏组件,或是在页面的某个部分显示组件,所以路由的第一层一般是全屏显示的,而在/目录下的组件为页面的某个部分显示的,通常需求是这样的,登录是全屏显示的,而普通页面是在页面的某个部分进行 ...
- cas单点登录防止登出退出后刷新后退ticket失效报500错
https://www.cnblogs.com/wangyang108/p/5844447.html
- python开发遇到的坑(2)mongodb安装路径权限问题
个人比较懒,Mac 电脑直接使用命令行安装,brew install mongodb,但是遇到两个问题,其一: Error: The following directories are not wri ...
- VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
解决方法: 1.打开该项目的“属性页”对话框. 2.单击“链接器”文件夹. 3.单击“命令行”属性页. 4.将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用.
- SQL Server Change Tracking
1 概述 “更改跟踪”和“变更数据捕获”捕获和记录用户表的DML更改(插入.更新和删除操作),为某些有特殊需求的应用程序服务. 1.1 更改跟踪 更改跟踪捕获表的数据行更改这一行为,但不会捕获更改的具 ...
- Apache JMeter压力测试实例
脚本录制 脚本录制,JMeter启用WEB代理,浏览器把代理上网设置为JMeter所在的IP地址,自己电脑就是127.0.0.1代理端口默认8080.至于浏览器修改代理上网服务器,不做截图. Jmet ...