html5新特性--音频视频,拖放

1.音频

<audio controls>
<source src="aaa.ogg" type="audio/ogg">
<source src="bbb.mp3" type="audio/mpeg">
您的浏览器不支持 audio 元素。
</audio>

在<audio> 与 </audio> 之间插入浏览器不支持的<audio>元素的提示文本 。

<audio> 元素允许使用多个 <source> 元素. <source> 元素可以链接不同的音频文件,浏览器将使用第一个支持的音频文件

2.视频

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
您的浏览器不支持Video标签。
</video>

同时<video> 元素元素也提供了 width 和 height 属性控制视频的尺寸.如果设置的高度和宽度,所需的视频空间会在页面加载时保留。。如果没有设置这些属性,浏览器不知道大小的视频,浏览器就不能再加载时保留特定的空间,页面就会根据原始视频的大小而改变。

3.拖放

var box1,box2,img
window.onload = function() {
  box1 = document.getElementById("box1");
  box2 = document.getElementById("box2");
  box1.ondragstart = function (e){
    drag(e);
  }
  box1.ondragover = function (e){
    dragover(e);
  }
  box1.ondrop = function (e){
    ondrop(e);
  }
  box2.ondragstart = function (e){
    drag(e);
  }
  box2.ondragover = function (e){
    dragover(e);
  }
  box2.ondrop = function (e){
    ondrop(e);
  }
  img = document.getElementById("img");
  img.draggable = "false";
}
function drag (ev){
  ev.dataTransfer.setData("img",img);
}
function dragover (ev){
  ev.preventDefault();
}
function ondrop (ev){
  ev.preventDefault();
  var imgg = ev.dataTransfer.getData("img");
  ev.target.appendChild(img);
}

设置元素为可拖放:

  <img draggable="true">

规定当元素被拖动时,会发生什么 - ondragstart 和 setData()

  dataTransfer.setData() 方法设置被拖数据的数据类型和值

何处放置被拖动的数据 - ondragover

  默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

  这要通过调用 ondragover 事件的 event.preventDefault() 方法:

  event.preventDefault()

放置被拖数据 - ondrop

  通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将返回在 setData() 方法中设置为相同类型的任何数据。

  把被拖元素追加到放置元素(目标元素)中

posted @ 2016-10-24 18:19  浪味小仙女  阅读(867)  评论(0编辑  收藏  举报