htm5拖放和画布
拖放
拖放是一种常见的特性,即抓取对象以后拖到另一个位置。
在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。
首先,为了使元素可拖动,把 draggable 属性设置为 true
ondragover 事件规定在何处放置被拖动的数据。
当放置被拖数据时,会发生 drop 事件。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
div{width: 200px;height: 100px;border: 1px solid black;float: left;text-align: center;padding-top: 30px;}
</style>
</head>
<body>
<div id="div1"><img id="img" src="w3school_logo_black.gif" draggable="true"></div>
<div id="div2"></div>
</body>
<script type="text/javascript">
var div1=document.getElementById("div1");
var div2=document.getElementById("div2");
var img=document.getElementById("img");
div1.ondragover=function(e){
e.preventDefault(); //来避免浏览器对数据的默认处理
}
div1.ondrop=function(){
div1.appendChild(img); //将图片添加到DIV1
}
div2.ondragover=function(e){
e.preventDefault(); //来避免浏览器对数据的默认处理
}
div2.ondrop=function(){
div2.appendChild(img); //将图片添加到DIV2
}
</script>
</html>

canvas 元素用于在网页上绘制图形。
canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
*{
padding:0;
margin:0;
}
body{
text-align: center;
}
#canvas{
border:1px solid red;
}
</style>
</head>
<body>
<h1>测试Canvas</h1>
<canvas id="canvas" width="1000" height="500">不支持Canvas</canvas> //创建一个画布,并设置大小
</body>
<script>
var canvas = document.getElementById("canvas"); //设置画布
var context = canvas.getContext("2d"); //设置画笔
drawRect();
function drawRect(){
for(var i = 0;i < 20;i++){ //循环19次
context.strokeStyle = "rgb("+generateCode(256)+","+generateCode(256)+","+generateCode(256)+")"; //循环设置边框的颜色
context.strokeRect(500-i*10,250-i*10,10+20*i,10+20*i); //循环设置矩形的位置和大小
}
}
function generateCode(num){
var random = parseInt(Math.random() * num); //设置一个随机数
return random;
}
</script>
</html>

htm5拖放和画布的更多相关文章
- 面试题<初级>
INTERVIEW .markdown-body ul pre code { background:red; font-size:40px; } @code-char:"```" ...
- 分享第一次使用ProcessOn心得
最近朋友推荐了我一款在线作图工具ProcessOn,感受使用了几天感觉确实很不错,在这里给大家分享一下! ProcessOn应该算的上是第一款完全免费在线作图工具,之前用过国外有类似的,不过都是付费的 ...
- Principle-初步认识(简介)
Principle官网 探究了一下 . 呃--作出了下边这玩意 做的好的是这样的,瞬间把自己给菜了,给大家看看,设计需要UI功夫啊 把这个用上你的界面就搞基了,图形在水平.垂直上的动态效果(*.*) ...
- ADT工具使用详解
备注:一下内容为本人手工翻译官方文档注解,如有翻译不到位的地方,欢迎批评指正; ADT(Android开发工具)是Eclipse的插件,它提供了一套与Eclipse IDE集成的工具.它可以让您访问许 ...
- AxureRP8实战手册
基础操作篇 本篇包含56种常见的基础操作,初学者应在掌握本篇内容后再进行实战案例篇的学习,以免产生学习障碍.同时,建议具备一定基础的读者学习本篇中相对生疏的内容,并加以掌握. 第1章 使用元件 本文目 ...
- Orange的数据挖掘工具入门使用
Orange的数据挖掘工具入门使用 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系作者bitpeach ...
- IOS开发入门实例
关于如何创建第一个 iOS 应用 本篇“第一个 iOS 应用”教程将向你介绍 iOS 应用开发中的“三个T”: Tools(工具)如何利用 Xcode 创建和管理工程. Technologies(技术 ...
- HTML5 课程
http://www.w3school.com.cn/html5/html_5_geolocation.asp HTML5 教程 HTML5 教程 HTML5 简单介绍 HTML5 视频 HTML5 ...
- 不知如何创建UML电路图?看看本文
Visual Paradigm是包含设计共享.线框图和数据库设计新特性的企业项目设计工具.现在你只需要这样单独的一款模型软件 Visual Paradigm就可以完成用UML设计软件,用BPMN去执行 ...
随机推荐
- 20170515-20170523学习计划---学习java(1)
背景: 组内搞了一个读书会,我是负责人,我们学习的主题是java,为了更好服务读书会,所以安排一下学习计划,到时候在读书会上做分享. 这是第二次读书会,第一次讲了java的一些基本知识,这次只要学习对 ...
- Charles Proxy 4.1.2 破解版
下载Charles Proxy 4.1.2版本,百度云盘下载 或 去官网下载 安装后先打开Charles一次(Windows版可以忽略此步骤) 在这个网站(http://charles.iiilab. ...
- js事件小结
首先事件绑定分为2种方法 一种为"DOM0级"方法,这里我理解为事件指定 var oDiv = document.getElementById("div1"); ...
- javascript获取json对象的key名称的两种方法
javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...
- ORACLE中死锁的知识点总结
死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子. 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子 ...
- 【转载】C/C++中的char,wchar,TCHAR
点击这里查看原文章 总体简介:由于字符编码的不同,在C++中有三种对于字符类型:char, wchar_t , TCHAR.其实TCHAR不能算作一种类型,他紧紧是一个宏.我们都知道,宏在预编译的时候 ...
- 全景智慧城市常诚——一个实体商家“自剖”VR全景的势在必得
谈起"智慧城市",你的心中是否充满了期待?随着互联网的发展,人们对于"智慧城市"的需求越来越迫切.现在想想,我也算是首批入驻全景智慧城市的商家之一了.在各种连锁 ...
- 纯CSS3向右循环闪过效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Java经典编程题50道之二十
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. public class Example20 { public static void ma ...
- iOS11和机器学习CoreML库
随着iOS11的发布,苹果公司也正式加入了机器学习的战场.在新的iOS11中内置了CoreML,虽然还是Beta版本,但是功能已经非常强大了. 在这个CoreML库里面,已经集成了一些训练好的模型,可 ...