H5

02、HTML5-新特性

2017-05-31  本文已影响100人  EndEvent

一、新的选择器

  var oDiv = document.getElementsByClassName('box')[0];
  var oDiv = document.getElementsByClassName('box view')[0];
  var oDiv = document.querySelector('#div1');
  // 只能选择一组中的第一个元素
  var oDiv = document.querySelector('.box');
  var oDiv = document.querySelector("[title=hello]");
  var aLi = document.querySelectorAll("li");
  var aDiv = document.querySelectorAll(".box");

二、class列表属性操作

alert( oDiv.classList );
alert( oDiv.classList.length );
  oDiv.classList.add('box3');
  oDiv.classList.remove('box4');
  oDiv.classList.toggle('view2');

三、拖拽操作

  // draggable设置为true,元素就可以拖拽
  <div id="box" draggable="true"></div>
   - dragstart: 拖拽前触发 
   - drag: 拖拽前、拖拽结束之间,连续触发
   - dragend: 拖拽结束触发
  - dragenter: 进入目标元素触发,相当于mouseover
  - dragover: 进入目标、离开目标之间,连续触发
  - dragleave: 离开目标元素触发,相当于mouseout
  - drop: 在目标元素上释放鼠标触发(如果要触发该事件,需要在dragover中阻止其默认事件)
  // 不是固定的,只要有设置值即可
  ev.dataTransfer.setData('name', 'hello');
  - setData() : 设置数据 key和value(必须是字符串)
     ev.dataTransfer.setData('name', 'hello');
  - getData() : 获取数据,根据key值,获取对应的value
     ev.dataTransfer.getData('name');
  - setDragImage(): 三个参数:指定的元素,坐标X,坐标Y
    ev.dataTransfer.setDragImage(oBt, 0, 0);
  - files
     获取外部拖拽的文件,返回一个filesList列表
    filesList下有个type属性,返回文件的类型

四、FileReader读取文件信息

  // 获取外部文件列表
  var files = ev.dataTransfer.files;
  var fileRead = new FileReader();
  fileRead.readAsDataURL(files[0]);
  this.result , 来获取读取的文件数据,如果是图片,将返回base64格式的图片数据
  fileRead.onload = function(){
      alert(this.result);
  }

案例: 上传图片预览功能
案例: 拖拽购物车

上一篇 下一篇

猜你喜欢

热点阅读