h5简介:

h5新特性

h5新增标签

article  和  section 的区别相当于 div  和  p标签的区别

1—6都是块级元素

h5新增属性

拖放

拖动事件

<style>
div {
width:100px;
height:100px;
background:red;
}
</style>
</head>
<body>
<div draggable="true" id="demo"></div>
<script>
var demo = document.getElementById('demo');
demo.ondragstart = function(e){
console.log('start',e)
}
demo.ondrag = function(e){
console.log('drag',e)
}
demo.ondragend = function(e){
console.log('end',e)
}
</script>

释放区事件

   <style>
#demo {
width:100px;
height:100px;
background:red;
}
#demo1{
width:100px;
height:100px;
background:yellowgreen;
}
#demo2{
width:100px;
height:100px;
background:blueviolet;
}
.wrapper{
width:400px;
height:300px;
border:1px solid #000;
}
</style>
</head>
<body>
<div class="demo">
<div draggable="true" id="demo"></div>
<div draggable="true" id="demo1"></div>
<div draggable="true" id="demo2"></div>
</div>
<div class="wrapper"></div>
<script>
var demo = document.getElementsByClassName('demo')[0];
var wrapper = document.getElementsByClassName('wrapper')[0];
id = null;
demo.ondragstart = function (e){
console.log('start',e.target);
id = e.target.id;
}
wrapper.ondragenter = function (e){
console.log('enter');
}
wrapper.ondragover = function (e){
e.preventDefault(); //调用 preventDefault() 来避免浏览器对数据的默认处理
console.log('over');
} ondragover 事件规定在何处放置被拖动的数据,默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。 这要通过调用 ondragover 事件的 event.preventDefault() 方法:
        wrapper.ondragleave = function (e){
console.log('leave');
}
wrapper.ondrop = function (e){
console.log('drop');
var oDiv = document.getElementById(id).cloneNode(true);
this.appendChild(oDiv);
}
</script>
</body>

dataTransfer: 返回用于传输数据到释放区的对象      (还可传输对象)

名称                                                   说明                                       返回

types                                           返回数据的格式                        字符串数组

getData(<format>)                      返回指定格式的数据                  字符串

setData(<format> , <data>)        设置指定格式的数据                  void

clearData(<format>)                    移除指定格式的数据                 void

files                                              返回已被拖动文件的列表          fileList

上面的代码改成:
var demo = document.getElementsByClassName('demo')[0];
var wrapper = document.getElementsByClassName('wrapper')[0];
// id = null;
demo.ondragstart = function (e){
console.log('start',e.target);
e.dataTransfer.setData('id',e.target.id);
// id = e.target.id;
}
wrapper.ondragenter = function (e){
console.log('enter');
}
wrapper.ondragover = function (e){
e.preventDefault();
console.log('over');
}
wrapper.ondragleave = function (e){
console.log('leave');
}
wrapper.ondrop = function (e){
console.log('drop');
var oDiv = document.getElementById(e.dataTransfer.getData('id')).cloneNode(true);
this.appendChild(oDiv);
}
</script>

h5内容初探的更多相关文章

  1. 自由创造属于你的H5内容

    在这里,你可以自由创造属于你的H5内容  mark下 http://www.ih5.cn/

  2. H5内容安全尺寸

    设备独立像素:iPhone5:320 * 568 >> 微信网页可视区高度:504px   iPhone6:375 * 667 >> 微信网页可视区高度:603px 设备独立像 ...

  3. JMeter-因cookie管理器不兼容返回H5内容内容的解决

    问题: 使用的post方法但是显示的是get,并且返回页面H5的内容 解决: jmeter版本太低了,需要选择cookie管理期选择兼容模式(一般默认的为standard)

  4. h5内容超出可以滑动展示的处理,iscroll的使用

    第一步: 引入js 第二步:页面结构 第三步:使用 dome效果:http://cubiq.org/dropbox/iscroll4/examples/simple/ 文档地址:http://iscr ...

  5. 混合开发H5的图片怎么适配自己想要的大小

    1.先上个自己没适配的图,这个图没显示全,因为用的是webview 所以 用的是webView的代理事件 解决 2.上代码 NSString *injectionJSString = @"v ...

  6. 微信清理H5真的太早了?这会是应用号发布的前兆吗

    三少爷的剑  2016-04-18 21:05 收藏35 评论7   两天之内,整个 H5 游戏创业陷入了两年狂热期以来最冷的冰点. 每一个正在忙于 H5 小游戏开发的开发者都在忙于砍掉游戏代码中有关 ...

  7. 才一年,H5的发展就成这样了......

    关于H5的发展,分享几个最近看到的惊人数据和新闻: 1.截至2015,有80%的App将全部或部分基于HTML5.这意味着大部分App的内容都将是以网页的形式呈现,典型的例子包括微信.Facebook ...

  8. H5开发HybridApp

    1 H5开发 开发HybridApp一般都是先完成H5部分,所谓的H5就是Html5页面,开发的时候我们在PC机上的浏览器调试即可,这里推荐Chrome F12模式. 在调试服务器请求数据部分要给ch ...

  9. H5活动产品设计指南基础版

    本文来自 网易云社区 . H5一般页面不会很多,看似简单,实际上会有很多细节需要注意,我自己在做过了几个H5之后,发现了一些常犯的问题,做了小结,希望给新开始做H5的产品相关的同学提供一些帮助.  首 ...

随机推荐

  1. CentOS、Ubuntu、Debian简析

    Centos .Ubuntu.Debian 三个Linux都是非常优秀的系统,开源的系统,也分付费的商业版和免费版,下面简单比较这三种系统. Centos系统 非常多的商业公司部署在生产环境上的服务器 ...

  2. day1作业(格式化输出)

    练习:用户输入姓名.年龄.工作.爱好 ,然后打印成以下格式------------ info of Egon -----------Name  : EgonAge   : 22Sex   : male ...

  3. tornado项目注意点

    大体框架思想 如果你做的项目是偏向中小型的话,MTV或者MVC已经足够支撑起整个项目,而如果你做的项目比较大大话,或者说可能以后的业务量很大的话,那你就需要用到四层架构的思想了,那么我们就各自分析下俩 ...

  4. UiAutomator 代码记录: 随机创建新联系人

    package lecturer; import java.lang.*; import java.nio.Buffer; import java.util.Random; import java.i ...

  5. ios判断当前设备类型

    代码如下: + (NSString*) deviceString { // 需要#import "sys/utsname.h" struct utsname systemInfo; ...

  6. python 读取bin文件

    python读取bin文件并下发串口   # coding:utf-8import time, serialfrom struct import *import binascii file = ope ...

  7. Linux将某目录授权给某组里的某用户

    chown -Rf 用户名:组名 目录

  8. 15. combobox、combotree获取显示值和value值方式

    $('#form1 #clsName').combobox('getValue'); $('#form1 #clsName').combobox('getText'); $('#form1 #clsN ...

  9. Linux 创建用户并赋予 Sudo 权限

    01,创建账号 => useradd admin 02,赋予密码 => passwd admin 03,修改 sudo 权限文件,使得该用户可以使用 sudo 命令 vim /etc/su ...

  10. git 出现冲突时的解决办法

    <一> 二者兼得最麻烦 1, 出现冲突一般出现在群体开发两个及以上开发者同时修改同一个文件时 2, 具体表现为 git pull , git push 和 git commit 命令执行失 ...