HTML5新增属性参考文档

什么是html5

1.H5并不是新的语言,而是html语言的第五次重大修改–版本

2.支持:所有的主流浏览器都支持h5.(chrome,firefox,safari。。。)。IE9及以上支持h5(有选择的支持,并不会全部支持),但是ie8及以下不支持h5.

3.改变了用户与文档的交互方式:多媒体:video audio canvas

4.增加了其它的新特性:语义特性,本地存储特性,网页多媒体,以及动画

5.相对于h4:

1.进步:抛弃了一些不合理不常用的标记和属性

2.新增了一些标记和属性--表单

3.从代码角度而言,h5的网页结构代码更简洁。

什么是语义化标签

语义化标签:很直观的清楚这个标签的作用

  • header: 页眉 头部
  • nav:导航
  • main:主体内容
  • article:文章
  • aside:侧边栏
  • footer:页脚,底部

语义标签兼容处理

ie9 及以下: 变成行内元素,手动变成块元素

ie8以下:根本不识别html5,手动创建html5标签或者引入html5shiv.min.js

表单新增的type属性

  • email:对邮箱可以进行验证
  • tel:不会进行验证,会在手机端会切换成数字键盘
  • url:会对输入的网址进行验证
  • number:可以进行数字的输入,不是数字类型
  • search:会携带清除的X
  • range:范围限制的拉动杆
  • color: 颜色的选择
  • time: 时分的选择
  • date:年月日的选择
  • datetime-local:年月日时分的完整时间选择
  • month:月份的选择
  • week: 最终显示的格式为周

表单新增的属性

  • placeholder:默认占位符,当输入文本的时候,会自动将默认的占位清除
  • autofocus:自动获取焦点
  • autocomplete:会有提示之前填过的内容,前提条件:1.必须提交过,必须要有name属性
  • required:为必填项,输入框不能为空,如果为空,会有提示
  • pattern:正则表达式验证
  • multiple:如果input类型为file,提交多个文件,如果类型email,可以输入多个邮箱
  • form:值form表单的id名,这样的话就会将当前输入框和id对应的表单进行关联,提交的时候会一起提交

表单新增事件

  • oninput:只要内容发生变化,即触发事件
  • onkeyup:键盘弹起时触发
  • oninvalid:代表当前输入框验证没有通过即可触发
    setCustomValidity:修改默认的提示内容

媒体标签

audio:播放音频文件的

  • src:音频文件的地址
  • controls:控制面板
  • autoplay:自动播放
  • loop:循环播放

video

  • src:视频的文件地址
  • controls:控制面板
  • autoplay:自动播放
  • muted:静音
  • loop:循环播放
  • poster:定义视频封面图,如果不设置,视频画面的第一帧
  • width:视频的width
  • height:视频height
  • 设置width不设置height,设置height,不设置width
  • source标签:可以设置多个资源文件,浏览器在加载的时候,从上到下加载,如果不支持该文件类型,继续加载,一直到找到兼容该浏览器的资源文件

DOM 获取元素

  • querySelector:该方法可以传递任何选择器,但是只会查抄到满足条件的第一个
  • querySelectorAll:该方法可以传递任何选择器。会查找到满足条件的所有的元素,最终返回的是伪数组,如果想设置样式,遍历该数组,拿到每一个元素,设置样式即可

类名的操作

所有关于类样式操作的都在classList,classList属于dom元素上的的

  • add:为当前元素添加类名,如果想添加多个用,进行分割
  • remove:移除某一个类名
  • toggle:进行类名的切换
  • contains:判断是否包含某一个类名,如果包含,返回true,不包含返回false

DOM 自定义属性

  • 如何自定义一个属性?
    凡是以data-开头的都是一个自定义属性
  • 如何获取自定义属性的值?
    所有的自定义属性都在dom元素下面的dataset里面以属性的形式进行存储
  • 如何修改自定义属性?
    给dataset里面对应的属性重新赋值,即修改完成

网络接口

  • online:网络连通时触发
  • offline:网络断开时触发

全屏接口

  • requestFullScreen: msRequestFullscreen(ie全屏)
  • cancelFullScreen:取消全屏,这个方法属于 document
  • fullscreenElement:判断当前状态,是否处于全屏,如果是全屏可以拿到全屏的元素,如果不是返回的就是null
  • 通过不同的前缀来解决兼容问题

FileReader上传图片的使用

FileReader是一个构造函数

所以就可以new FileReader 可以得到一个实例对象

readAsText:读取txt文件

readAsBinaryString:读取任意类型文件

readAsDataURL:这个方法url资源读取到的文件会获取到data开头的一段字符串

result:会将读取成功之后的内容存到result上

onload:读取成功

逻辑分析:

  1. 我们什么时候要读取图片?
    当我们选择图片上传之后要读取,所以注册onchange事件
  2. 既然要读图片,就应该要拿到要读取的图片,拿到之后进行读取
    var fileImg = document.querySelector(“input”).files[0]
  3. 在onchange事件函数内部读取图片,但是什么方法可以读取图片?
    readAsDataURL()这个方法用来读取图片
  4. 既然这个方法可以读取图片,怎么拿到这个方法?
    new FileReader() 得到实例对象,通过实例对象可以调用readAsDataURL(fileImg )
  5. 最终读取成功之后的结果存到了实例对象的result上,那么我们什么时候可以拿到result,也就是读取成功之后
    所以在onload(代表图片读取成功)方法里,拿到result的结果
  6. 最终将读取的结果 设置到页面上img的的src

百度地图使用

  1. 找到你想要的效果,复制代码
  2. 申请秘钥,并且使用秘钥
  3. 开发文档》工具支持》坐标拾取器
  4. 利用百度工具生成地图名片

sessionStorage和localStorage的使用

sessionStorage作用:将数据保存到本地,存储的容量5mb左右

sessionStorage.setItem():像本地存储数据,第一个参数:key(name),第二个参数:value(值)

sessionStorage.getItem():获取本地sessionStorage的数据,参数为key

sessionStorage.removeItem():移除本地sessionStorage的某一个数据,参数为key

sessionStorage的特性:

  • 关闭浏览器,数据就会自动清除
  • 数据不可以多页面共享

localStorage.setItem,localStorage.getItem,localStorage.removeItem用法和sessionStorage一模一样

  • 存储的内容大概20mb
  • 但是在同一个浏览器的不同窗口中可以共享数据
  • 永久存储,只有卸载浏览器或者手动清除浏览器缓存才能清除

在开发中,使用localStorage更多一些

播放器案例

多媒体:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp

  1. 常用方法: play() 播放、 pause() 暂停 、paused

Jq没有提供对视频播放控件的方式,也就意味着如果要操作视频播放,必须使用原生的js方法—dom元素

  1. 常用属性:

a) currentTime 视频播放的当前时间、

b) duration:视频的总时间 100000/60

c) paused:视频播放的状态.

  1. 常用事件:

a) oncanplay: 事件在用户可以开始播放视频/音频(audio/video)时触发。

b) ontimeupdate: 视频时间发生变化就会触发

c) onended:播放完时触发—重置

准备工作:因为我们要大量操作video,我们可以在全局声明一个变量,来存储video元素

var video = $('video')[0]
  • 播放和暂停功能

    1. 给暂停播放按钮注册点击事件
    2. 在事件函数内部写逻辑:判断,如果当前状态为暂停,那么就播放,如果当前状态为播放,那么就暂停
    3. video.paused 判断当前状态是否为暂停 是暂停 true 播放状态 false
      if(video.paused){
      video.play();
      /移除暂停样式,添加播放样式/
      }
      else{
      video.pause();
      /移除播放样式,添加暂停样式/
      }
    4. toggleClass(“fa-play fa-pause”);进行类名的切换
  • 全屏功能

    1. 利用$拿到全屏按钮,给注册点击事件
    2. 在事件函数内部:video.requestFullScreen该方法可以让视频全屏,有兼容性,加前缀
      if(video.requestFullScreen){
      video.requestFullScreen();
      }
      else if(video.webkitRequestFullScreen){
      video.webkitRequestFullScreen();
      }
      else if(video.mozRequestFullScreen){
      video.mozRequestFullScreen();
      }
      else if(video.msRequestFullscreen){
      video.msRequestFullscreen();
      }
  • 视频显示和总时长处理
    视频什么时候可以显示?
    video.oncanplay = function(){
    // 视频显示
    video.style.display=“block”;
    }
    怎么拿到视频的总时长?
    var total = video.duration // 3680

    1. 问题:首先秒数,并且还有小数

    2. 格式化时分秒
      var hour = Math.floor(total/3600);
      hour = hour<10? ‘0’+hour:hour

      var minute = Math.floor(total%3600/60)
      minute=minute<10?"0"+minute:minute;
      
      var second=Math.floor(total%60);
      second=second<10?"0"+second:second;
      
      var str = hour+':'+minute+':'+'second'
      $('.totalTime').html(str)
      
  • 播放时,时间跟随变化,进度条跟随变化

    1. 视频播放的时候设置 时间跟随变化
      ontimeupdate:时间发生变化会触发
      在ontimeupdate事件函数中拿到当前的时间currentTime ,将当前时间格式化成时分秒
      video.ontimeupdate = function(){
      var current = video.currentTime
      var result = time(current) // 00:00:01
      $(’.currentTime’).html(result)
      }
      封装格式化时分秒的函数
      function time(total){
      var hour = Math.floor(total/3600);
      hour = hour<10? ‘0’+hour:hour

        var minute = Math.floor(total%3600/60)
        minute=minute<10?"0"+minute:minute;
      
        var second=Math.floor(total%60);
        second=second<10?"0"+second:second;
        return hour+':'+minute+':'+second
      }
      
    2. 让进度条跟随变化,其实就是视频播放的时候设置进度条的当前进度,实际进度条的进度=视频的当前播放进度
      求:视频的当前播放进度 = 当前视频播放的时间/视频总时间
      var percent = video.currentTime/video.duration
      将进度转化为百分比 percent = percent *100+‘%’
      最终将得到的百分比设置给进度条的宽度
      $(".elapse").css(“width”,percent);

  • 实现视频的跳播和播放之后的设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值